Anolis 龙蜥部署实战:从零搭建nginx、redis、jdk、tomcat环境及编译工具链排错
1. 环境准备与基础工具链安装
刚接触Anolis OS的朋友可能会遇到一个典型问题:安装常用服务时频繁报错,提示缺少make、gcc等基础工具。这就像装修房子时发现连锤子和螺丝刀都没有,后续工作根本无法开展。我去年在给客户部署测试环境时就踩过这个坑,当时花了两小时才搞明白问题根源。
首先需要确认基础编译环境是否完整。打开终端执行:
gcc -v
make -v
如果显示"command not found",说明你的系统像刚出厂的工作台——工具柜空空如也。别慌,Anolis的软件仓库里这些工具都有,只是默认没安装。
补全工具链只需要一条命令:
dnf groupinstall "Development Tools" -y
这个命令会安装包括gcc、make、autoconf在内的完整开发工具包,相当于给你的工具箱装上全套电动工具。我建议同时安装这些常用依赖:
dnf install -y openssl-devel zlib-devel pcre-devel wget
注意:生产环境建议先更新系统再安装,避免版本冲突。执行
dnf update -y可以获取最新软件包。
安装完成后,再次验证工具链:
gcc --version
make --version
现在你应该能看到版本信息了。我遇到过有些特殊场景还需要额外配置环境变量,这时可以编辑~/.bashrc文件添加:
export PATH=$PATH:/usr/local/bin
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
保存后执行source ~/.bashrc立即生效。
2. JDK部署与排错指南
Java环境是运行Tomcat等应用的基础,但在Anolis上安装JDK经常遇到环境变量配置问题。上周帮团队新人排查时,发现他java -version报错就是因为PATH设置不全。
推荐从Oracle官网下载JDK8稳定版:
wget https://download.oracle.com/otn/java/jdk/8u361-b09/jdk-8u361-linux-x64.tar.gz
解压到/usr/java目录(需要先创建目录):
mkdir -p /usr/java
tar -zxvf jdk-8u361-linux-x64.tar.gz -C /usr/java
环境变量配置是重点也是易错点。编辑/etc/profile时要注意:
- 使用绝对路径
- 包含JRE路径
- 注意CLASSPATH的格式
这是我验证过的配置模板:
export JAVA_HOME=/usr/java/jdk1.8.0_361
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
常见坑点:修改profile后忘记执行source /etc/profile导致配置不生效。建议每次修改后立即执行,并用
echo $JAVA_HOME验证。
如果遇到"Permission denied"错误,可能是解压后的文件权限问题。执行:
chmod -R 755 /usr/java/jdk1.8.0_361
3. Tomcat安装与自启动配置
有了JDK环境后,Tomcat的安装就简单多了。但很多人在配置服务自启动时会遇到systemctl报错,这里分享我的解决方案。
下载解压Tomcat:
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.68/bin/apache-tomcat-9.0.68.tar.gz
tar -zxvf apache-tomcat-9.0.68.tar.gz -C /usr/local/
启动测试前需要确保:
- 端口8080未被占用
- 防火墙放行端口
- 文件权限正确
启动命令:
/usr/local/apache-tomcat-9.0.68/bin/startup.sh
配置systemd服务时,这个单元文件模板亲测有效:
[Unit]
Description=Tomcat 9
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/java/jdk1.8.0_361"
ExecStart=/usr/local/apache-tomcat-9.0.68/bin/startup.sh
ExecStop=/usr/local/apache-tomcat-9.0.68/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存为/etc/systemd/system/tomcat.service后,执行:
systemctl daemon-reload
systemctl enable tomcat
常见错误排查:
- 如果启动失败,查看日志:
journalctl -xe - 端口冲突时修改server.xml中的Connector配置
- 内存不足可以调整catalina.sh中的JVM参数
4. Redis编译安装与优化
Redis的安装过程最容易出问题的就是编译阶段。记得有次服务器因为内存不足导致make失败,后来发现是swap空间没配置。
完整安装流程:
wget https://download.redis.io/redis-stable.tar.gz
tar -xzvf redis-stable.tar.gz
cd redis-stable
make
make install
编译常见问题解决方案:
- 内存不足:添加swap空间
dd if=/dev/zero of=/swapfile bs=1G count=4 chmod 600 /swapfile mkswap /swapfile swapon /swapfile - 依赖缺失:安装必要库
dnf install -y systemd-devel - 测试失败:可以跳过测试
make test
生产环境配置建议:
daemonize yes
protected-mode no
maxmemory 2gb
appendonly yes
配置systemd服务:
[Unit]
Description=Redis
After=network.target
[Service]
Type=notify
ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf
Restart=always
[Install]
WantedBy=multi-user.target
5. Nginx编译安装与模块管理
Nginx的灵活之处在于可以按需编译模块,但这也增加了安装复杂度。我总结了一套标准化流程,能处理大多数场景。
先安装前置依赖:
dnf install -y gcc pcre-devel zlib-devel openssl-devel
下载源码并编译:
wget http://nginx.org/download/nginx-1.23.3.tar.gz
tar -zxvf nginx-1.23.3.tar.gz
cd nginx-1.23.3
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_stub_status_module
make && make install
关键配置项说明:
- --with-http_ssl_module:启用HTTPS支持
- --with-http_v2_module:支持HTTP/2
- --with-stream:TCP/UDP代理功能
启动和常用命令:
/usr/local/nginx/sbin/nginx # 启动
nginx -s reload # 重载配置
nginx -t # 测试配置
性能优化参数(在nginx.conf的events块添加):
worker_connections 10240;
multi_accept on;
use epoll;
6. 综合排错与系统调优
环境搭建完成后,还需要进行整体检查和优化。根据我的经验,80%的问题都出在环境变量和权限上。
系统资源检查清单:
- 内存和swap使用:
free -h - 端口监听情况:
ss -tulnp - 服务运行状态:
systemctl list-units --type=service
日志查看技巧:
- Nginx错误日志:
tail -f /usr/local/nginx/logs/error.log - Tomcat日志:
tail -f /usr/local/tomcat/logs/catalina.out - Redis日志:
tail -f /var/log/redis_6379.log
安全加固建议:
- 为每个服务创建专用用户
- 限制数据库的bind地址
- 定期备份配置文件
- 设置适当的文件权限
chown -R nginx:nginx /usr/local/nginx
chmod 750 /usr/local/nginx
更多推荐



所有评论(0)