准备工作:
软件,下载地址:http://nginx.org/download/nginx-1.12.2.tar.gz
依赖库:pcre/pcre-devel/gcc/gcc-c++ /zlib/zlib-devel(可以通过rpm -qa | grep 软件名、whereis 软件名来查看该软件是否安装)
yum install -y pcre pcre-devel
yum instal -y gcc gcc-c++
yum install -y zlib zlib-devel
依赖准备好后,开始nginx安装
//下载
wget http://nginx.org/download/nginx-1.12.2.tar.gz
//解压
tar zxvf nginx-1.12.2.tar.gz
//进入目录
cd nginx-1.12.2.tar.gz
//执行安装相关配置、
./configure --prefix=/usr/local/nginx //指定安装位置为/sur/local/nginx
//执行编译和安装
make && make install
//进入安装目录
cd /usr/local/nginx
//有如下目录,
/**
...conf 配置文件
...html 网页文件
...logs 日志文件
...sbin 主要二进制程序文件
*/
//启动nginx
./sbin/nginx
//防火墙开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
/*
命令含义:
--zone 作用域
--add-port=80/tcp 添加端口,格式为:端口/通讯协议
--permanent 永久生效,没有此参数重启后将失效
*/
//重启防火墙,使其修改生效
firewall-cmd --reload
//此时如果80端口被占用(比如apache、别的nginx),会报如下错误:
nginx:[emerg]bind() to 0.0.0.0:80 failed (98:Address already in usr)
/**
解决方法为把占用的80端口软件或服务关闭即可
netstat -antp //显示网络状态
*/
可以通过./configure – help 来查看先关配置,如下:
nginx的信号控制
TERM, INT :Quick shutdown
QUIT: Graceful shutdown 优雅的关闭进程,即等请求结束后再关闭
HUP: Configuration reload ,Start the new worker processes with a new configuration Gracefully shutdown the old worker processes改变配置文件,平滑的重读配置文件
USR1 Reopen the log files 重读日志,在日志按月/日分割时有用
USR2 Upgrade Executable on the fly 平滑的升级
WINCH Gracefully shutdown the worker processes 优雅关闭旧的进程(配合USR2来进行升级)
具体语法:
Kill -信号选项 nginx的主进程号
Kill -HUP 4873
Kill -信号控制 cat /xxx/path/log/nginx.pid
Kil; -USR1 cat /xxx/path/log/nginx.pid