Linux离线安装nginx及配置自启动
Linux离线安装nginx及配置自启动
1、离线下载地址
可自己选择版本下载进行安装,此文档是下载的 nginx-1.14.0.tar.gz
2、安装
2.1、解压缩
tar -zxvf nginx-1.14.0.tar.gz
2.2、安装
cd nginx-1.14.0
./configure && make && make install
2.3、启动&停止&退出&重启
cd /usr/local/nginx/sbin/
./nginx #启动
./nginx -s stop #停止 此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
./nginx -s quit #退出 此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s reload #重启 修改配置后重新加载生效./nginx -s reopen :重新打开日志文件
3、查看nginx进程及杀掉进程
ps -ef|grep nginx #查询进程号
kill -QUIT 主进程号 #从容停止
kill -TERM 主进程号 #快速停止
kill -9 主进程号 #强制停止
4、/etc/init.d Linux开机自启动
4.1 在/etc/init.d下创建nginx
mkdir nginx
vim nginx
内容参考nginx官方文档:https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/
4.2 修改配置
nginx=”/usr/local/nginx/sbin/nginx” //修改成nginx执行程序的路径。
NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf” //修改成nginx.conf文件的路径。
4.3 设置文件的执行权限
chmod a+x /etc/init.d/nginx
4.4 nginx服务加入chkconfig管理列表
chkconfig --add /etc/init.d/nginx
4.5 通过service启动&关闭&重启
service nginx start # 启动
service nginx stop #立即停止
service nginx restart #重启
4.6 设置开机启动
chkconfig nginx on
查看结果
5、遇到的问题
5.1、service nginx stop 失效的问题
执行service nginx stop返回[OK] 查看nginx进程,nginx进程依然存在并没有关闭
5.1.1 解决方案:杀掉nginx进程
ps -ef|grep nginx #查询进程号
kill -9 主进程号 #强制停止
service nginx start # 启动
5.1.2 猜想问题原因
已经通过/sbin/nginx 启动nginx,在未修改配置文件的情况下,根据/conf/nginx.conf配置文件,nginx的主进程号存放在 /log/nginx.pid文件内,service nginx stop/start 时读取的进程是/etc/init.d/nginx脚本内的,可能不一致,导致service nginx stop命令失效
5.2 /bin/sh^M: bad interpreter
通过Windows系统上传nginx文件到/etc/init.d/目录下,执行/etc/init.d/nginx stop时报错
5.2.1 原因
dos格式文件传输到unix系统时,会在每行的结尾多一个^M(/r)
5.2.2 解决方法
打开nginx文件,设置unix文件格式
vi xxx(报错的那个文件)
:set ff ? #如果出现fileforma=dos,这就是文件格式问题
:set fileformat=unix # 设置为unix格式文件
:wq # 保存
5.3 查看nginx在linux安装目录
5.3.1 方法一
# 通过ps命令查看
ps -ef|grep nginx
5.3.2 方法二
# 通过ll命令查看,${PID}通过该ps命令获得
ll /proc/${PID}/exe
本文来自博客园,作者:cxbks,转载请注明原文链接:https://www.cnblogs.com/cxbks-write-down/articles/14292895.html