基本安装
- 版本:
Centos8 安装 1.18.0 的版本
Centos7 安装1.8.0 版本
- 解压
tar -zxvf nginx-*.tar.gz
- 编译
进入到解压后的nginx 目录
./configure --prefix=/usr/local/nginx
- prefix 后面对应的是安装的路径
- 如果需要配置https,编译时需要加上https 模块,编译命令如下:
./configure --prefix=/usr/local/nginx --with-http_ssl_module
- 安装
make && make install
- 配置
vim /usr/local/nginx/conf/
- 基础命令
/usr/local/nginx/sbin/nginx //启动
/usr/local/nginx/sbin/nginx -s reload //重启
/usr/local/nginx/sbin/nginx -s stop //停止
/usr/local/nginx/sbin/nginx -t //查看配置是否正确
/usr/local/nginx/sbin/nginx -V //查看版本
- 查看是否启动成功
netstat -unltp | grep nginx
- netstat 可使用yum -y install net-tools 安装
开机自启动
- 简单配置
vim /etc/rc.d/rc.local
末尾加入:
/usr/local/nginx/sbin/nginx
赋予权限
chmod +x /etc/rc.d/rc.local
- 更好的解决方案(推荐使用)
新建nginx.service 文件
vim /lib/systemd/system/nginx.service
输入以下内容并保存:
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
通过以下命令进行控制nginx 的启动与停止以及自启动
systemctl start nginx.service //启动nginx服务
systemctl stop nginx.service //停止服务
systemctl restart nginx.service //重新启动服务
systemctl list-units --type=service //查看所有已启动的服务
systemctl status nginx.service //查看服务当前状态
systemctl enable nginx.service //设置开机自启动
systemctl disable nginx.service //停止开机自启动
- 问题:systemctl status nginx.service 显示faile 或者 inactive,先杀死nginx进程 然后重新启动
pkill -9 nginx
ps aux | grep nginx
systemctl start nginx
如果发现启动不了,按提示运行 systemctl daemon-reload
- 设置开机自启动
systemctl enable nginx.service
再次 reboot ,开机后输入再次查nginx 状态是否启动成功,如果转发的地址为域名比如,t2.tianditu.com ,参考第4步。
https 配置证书
- 使用openssl 工具生成证书
- 证书位置:/usr/local/nginx/conf
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/nginx/conf/nginx.key -out /usr/local/nginx/conf/nginx.crt
- openssl 可通过yum 安装
- 配置https 反向代理
prox_pass 参数为域名时
配置开机自启动时需要解析域名t2.tianditu.com,虚拟机重启使用 systemctl status nginx.service 查看nginx 状态,发现报错:(手动启动没有此问题)
host not found in upstream "xxx.xx.xx"
解决