银河麒麟离线安装部署nginx
直接在银河麒麟服务器上运行install_nginx.sh程序即可。
百度网盘链接: https://pan.baidu.com/s/1cH5E7vtHna6uRHKyga1BrQ?pwd=ipag 提取码: ipag 复制这段内容后打开百度网盘手机App,操作更方便哦
在install_nginx.sh中我设置了自己需要的端口,以及root路径,可根据自己需求进行修改。
一、环境准备
1.nginx编译所需的各种rpm包
(千万!千万!千万!别安装openssl的其他版本的包,会跟系统自带的冲突导致后续无法远程服务器!有的教程说nginx安装需要openssl依赖,系统自带,别安装,血的教训!!!TAT!!!)
2.nginx包:我这里使用的是nginx1.24
百度网盘地址:链接: https://pan.baidu.com/s/1dZyB4gQyS4mGkN9VD-Czyg?pwd=uqjj 提取码: uqjj 复制这段内容后打开百度网盘手机App,操作更方便哦
二、安装
1.rpm包安装
将所有需要的安装包拷贝到银河麒麟系统上,进入rpm文件夹路径下执行如下命令强制安装所有rpm包
rpm -ivh *.rpm --nodeps --force
安装完成后查看gcc和make是否安装成功
gcc -v #查看gcc版本
make -v #查看make版本
openssl version #查看openssl版本
2.nginx安装
(1)解压缩nginx-1.24.0.tar.gz安装包
tar -zxvf nginx-1.24.0.tar.gz
如果需要指定解压目录使用以下命令
tar -zxvf nginx-1.24.0.tar.gz -C /path/to/your/custom/directory
(2)编译nginx
进入到解压后的nginx目录,依次运行如下命令(每一行代表一个命令)
./configure
make
make install
编译完成后nginx默认安装在/usr/local/nginx 路径下
3.nginx配置
(1)运行nginx
编译完成后在/usr/local/nginx/sbin路径下运行./nginx即可启动nginx
(2)配置nginx
nginx配置文件路径为/usr/local/nginx/conf/nginx.conf,可以根据自己需求自行调整设置nginx的设置
server{
listen 8070; #默认为80端口
server_name 192.168.10.13; #默认为localhost,可以自行修改为需要的ip
location / {
root /home/dist; #默认为 / 根目录
index index.html index.htm; #默认首先访问index.html文件
}
}
(3)设置环境变量
临时设置环境变量
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
永久设置环境变量:别TM设置永久环境变量,一设一个崩,一设一个不吱声,用户名密码输入正确就是进不去系统,TNND。
4.设置nginx服务开机自启动
创建 systemd 服务文件:
sudo vi /etc/systemd/system/nginx.service
在nginx.service文件中添加以下内容
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启用并启动服务
sudo systemctl enable nginx
sudo systemctl start nginx
5.防火墙问题
银河麒麟系统默认开启防火墙,会导致其他电脑无法访问nginx部署的前端地址,解决办法如下:
# 查看防火墙是否已经放行了 Nginx 使用的端口(默认为 80 和 443)
firewall-cmd --zone=public --list-ports
# 如果未放行端口,输入一下命令放行端口
firewall-cmd --zone=public --add-port=80/tcp --permanent # 放行 HTTP 端口
firewall-cmd --zone=public --add-port=443/tcp --permanent # 放行 HTTPS 端口
# 重新加载防火墙配置以使更改生效
firewall-cmd --reload
# 如果仍然无法访问,可以尝试重启防火墙服务:
systemctl restart firewalld