阿里云Alinux 3 全栈环境安装+运维+部署指南
一、环境说明
服务器系统:阿里云Alinux 3(兼容CentOS 7命令)安装软件:Java 8、MySQL 8.0、Nginx 1.24、Tomcat 9、Redis 7.2.4核心端口:80(Nginx)、3306(MySQL)、8080(Tomcat)、6379(Redis)二、软件安装指南(标准化步骤)
前置准备
# 1. 系统更新与依赖安装
yum install -y wget gcc make gcc-c++ pcre-devel openssl-devel zlib-devel lrzsz# 2. 启动防火墙并开放基础端口
systemctl start firewalldsystemctl enable firewalld# 3. 创建统一安装目录
mkdir -p /usr/local/soft /usr/local/offline1. Java 8 安装
# 卸载系统自带OpenJDK
rpm -qa | grep java | xargs rpm -e --nodeps# YUM安装(稳定便捷)
yum install -y java-1.8.0-openjdk-devel# 验证
java -version && javac -version# 输出1.8.0开头即成功
2. MySQL 8.0 安装
# 1. 配置MySQL源(适配Alinux 3)
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmrpm -Uvh mysql80-community-release-el7-3.noarch.rpm# 2. 跳过GPG验证安装(解决密钥不匹配)
yum install -y mysql-community-server --nogpgcheck# 3. 启动并设置开机自启
# 4. 获取临时密码
temp_pass=$(grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}')echo "MySQL临时密码:$temp_pass"# 5. 安全配置(替换为你的强密码,如MySQL@123456)
mysql -uroot -p"$temp_pass" -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL@123456';CREATE USER 'root'@'%' IDENTIFIED BY 'MySQL@123456';GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';# 6. 开放3306端口
firewall-cmd --permanent --add-port=3306/tcp3. Nginx 1.24 安装
# 1. 配置适配Alinux 3的Nginx源
cat > /etc/yum.repos.d/nginx.repo << EOFbaseurl=http://nginx.org/packages/centos/7/\$basearch/gpgkey=https://nginx.org/keys/nginx_signing.key# 2. 安装Nginx
yum clean all && yum makecache# 3. 启动并设置开机自启
# 4. 开放80/443端口
firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp验证:浏览器访问 http://服务器IP 显示Nginx欢迎页
4. Tomcat 9 安装
# 1. 下载并解压Tomcat
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz --no-check-certificatetar -zxvf apache-tomcat-9.0.85.tar.gz -C /usr/local --strip-components=1 --rename=tomcat# 2. 赋予执行权限
chmod +x /usr/local/tomcat/bin/*.sh# 3. 创建systemd服务
cat > /etc/systemd/system/tomcat.service << EOFDescription=Apache Tomcat 9Environment="JAVA_HOME=$(which java | sed -r 's#/bin/java##')"ExecStart=/usr/local/tomcat/bin/startup.shExecStop=/usr/local/tomcat/bin/shutdown.shWantedBy=multi-user.target# 4. 启动并设置开机自启
# 5. 开放8080端口
firewall-cmd --permanent --add-port=8080/tcp验证:浏览器访问 http://服务器IP:8080 显示Tomcat欢迎页
5. Redis 7.2.4 安装
# 1. 下载并编译安装
wget https://download.redis.io/releases/redis-7.2.4.tar.gz --no-check-certificatetar -zxvf redis-7.2.4.tar.gzmake && make install PREFIX=/usr/local/redis# 2. 配置Redis
mkdir -p /usr/local/redis/conf /usr/local/redis/logs /usr/local/redis/datacp redis.conf /usr/local/redis/conf/# 修改核心配置(密码替换为Redis@123456)
sed -i 's/daemonize no/daemonize yes/' /usr/local/redis/conf/redis.confsed -i 's/bind 127.0.0.1/bind 0.0.0.0/' /usr/local/redis/conf/redis.confsed -i 's/protected-mode yes/protected-mode no/' /usr/local/redis/conf/redis.confrequirepass foobared/requirepass "Redis@123456"/' /usr/local/redis/conf/redis.conf
sed -i 's#logfile""#logfile/usr/local/redis/logs/redis.log#' /usr/local/redis/conf/redis.confsed -i 's#dir./#dir/usr/local/redis/data#' /usr/local/redis/conf/redis.conf# 3. 创建systemd服务
cat > /etc/systemd/system/redis.service << EOFExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.confExecStop=/usr/local/redis/bin/redis-cli -a "Redis@123456" shutdownWantedBy=multi-user.target# 4. 启动并设置开机自启
# 5. 开放6379端口
firewall-cmd --permanent --add-port=6379/tcp验证:/usr/local/redis/bin/redis-cli -a "Redis@123456" ping 输出PONG
三、服务运维指南(常用命令)
1. 通用运维命令
操作 | 命令格式 | 示例(以Nginx为例) |
|---|
启动服务 | systemctl start 服务名 | systemctl start nginx |
停止服务 | systemctl stop 服务名 | systemctl stop nginx |
重启服务 | systemctl restart 服务名 | systemctl restart nginx |
查看状态 | systemctl status 服务名 | systemctl status nginx |
设置开机自启 | systemctl enable 服务名 | systemctl enable nginx |
取消开机自启 | systemctl disable 服务名 | systemctl disable nginx |
查看日志 | journalctl -u 服务名 -f | journalctl -u tomcat -f |
2. 各软件专属运维命令
MySQL
# 登录MySQL
mysql -uroot -p"MySQL@123456"# 导出数据库(示例:导出test库)
mysqldump -uroot -p"MySQL@123456" test > /tmp/test.sql# 导入数据库
mysql -uroot -p"MySQL@123456" test < /tmp/test.sql# 查看慢查询日志
grep 'slow query' /var/log/mysqld.logNginx
# 检查配置文件语法
# 重载配置(不重启服务)
# 查看访问日志
tail -f /var/log/nginx/access.log# 查看错误日志
tail -f /var/log/nginx/error.logTomcat
# 手动启动/停止
/usr/local/tomcat/bin/startup.sh/usr/local/tomcat/bin/shutdown.sh# 查看运行日志(排错核心)
tail -f /usr/local/tomcat/logs/catalina.out# 清理日志(避免磁盘占满)
> /usr/local/tomcat/logs/catalina.outRedis
# 登录客户端
/usr/local/redis/bin/redis-cli -a "Redis@123456"# 查看Redis信息
/usr/local/redis/bin/redis-cli -a "Redis@123456" info# 持久化数据
/usr/local/redis/bin/redis-cli -a "Redis@123456" BGSAVE# 查看内存使用
/usr/local/redis/bin/redis-cli -a "Redis@123456" info memory四、应用部署指南
1. 静态网页部署(Nginx)
# 1. 创建网页目录
mkdir -p /usr/share/nginx/html/myweb# 2. 上传静态文件(HTML/CSS/JS)到该目录
# 3. 修改Nginx配置
cat > /etc/nginx/conf.d/myweb.conf << EOF或你的域名
root /usr/share/nginx/html/myweb;index index.html index.htm;try_files \$uri \$uri/ /index.html;# 防止缓存静态文件
location ~* \.(js|css|png|jpg|gif)$ {add_header Cache-Control "public";# 4. 检查配置并重启Nginx
nginx -t && systemctl restart nginx# 访问:http://服务器IP 即可看到部署的网页
2. Java应用部署(Tomcat)
方式1:WAR包部署(推荐)
# 1. 停止Tomcat
# 2. 删除默认项目(可选)
rm -rf /usr/local/tomcat/webapps/ROOT/*# 3. 上传WAR包到webapps目录(示例:myapp.war)
# 4. 启动Tomcat(自动解压WAR包)
# 5. 访问应用:http://服务器IP:8080/myapp
# 若需根路径访问:将WAR包命名为ROOT.war
方式2:JAR包部署(Spring Boot)
# 1. 创建应用目录
mkdir -p /usr/local/app/myapp# 2. 上传JAR包到该目录(示例:myapp.jar)
# 3. 创建启动脚本
cat > /usr/local/app/myapp/start.sh << EOFnohup java -jar /usr/local/app/myapp/myapp.jar --server.port=8081 > /usr/local/app/myapp/app.log 2>&1 &echo "应用启动成功,日志路径:/usr/local/app/myapp/app.log"# 4. 赋予执行权限并启动
chmod +x /usr/local/app/myapp/start.sh/usr/local/app/myapp/start.sh# 5. 访问应用:http://服务器IP:8081
# 停止应用:kill -9 $(ps -ef | grep myapp.jar | grep -v grep | awk '{print $2}')
3. Nginx反向代理Java应用(隐藏端口)
# 修改Nginx配置文件
cat > /etc/nginx/conf.d/myapp.conf << EOF# 反向代理Tomcat应用
proxy_pass http://127.0.0.1:8080/myapp/;proxy_set_header Host \$host;proxy_set_header X-Real-IP \$remote_addr;proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto \$scheme;# 根路径直接指向Java应用
proxy_pass http://127.0.0.1:8080/;proxy_set_header Host \$host;proxy_set_header X-Real-IP \$remote_addr;# 重启Nginx
nginx -t && systemctl restart nginx# 访问:http://服务器IP 即可访问Tomcat应用(无需加8080端口)
五、关键注意事项
1. 安全配置
MySQL/Redis密码必须包含大小写字母+数字+特殊符号,避免弱密码;生产环境不要将Redis/MySQL绑定[0.0.0.0](0.0.0.0),改为指定允许访问的IP;阿里云控制台安全组需同步开放80/3306/8080/6379端口(仅允许必要IP访问)。2. 性能优化
Tomcat:修改/usr/local/tomcat/conf/server.xml调整线程池、连接超时时间;Redis:开启持久化(RDB+AOF),限制内存使用(maxmemory 1G);Nginx:调整worker_processes(等于CPU核心数)、worker_connections(提高并发)。3. 数据备份
MySQL:每天定时备份数据库(可写脚本加入crontab);Redis:定期备份/usr/local/redis/data目录下的rdb/aof文件;应用代码:上传到服务器后备份到/usr/local/backup目录。总结
安装核心:Alinux 3需适配Nginx源路径,MySQL跳过GPG验证,Redis注意密码配置和systemd服务;运维重点:熟记各服务启停/日志查看命令,定期检查服务状态和磁盘使用;部署关键:静态网页用Nginx直接部署,Java应用优先WAR包部署,通过Nginx反向代理隐藏端口提升安全性。如果部署过程中遇到端口冲突、权限不足、应用启动失败等问题,可优先查看对应服务的日志文件(如Tomcat的catalina.out、Nginx的error.log),日志是排错的核心依据。