1. 安装Nginx
版本 nginx-1.14.0
如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。
# 安装C++编译器yum -y install gcc-c++# 下载并安装OpenSSLopenssl-fips-2.0.16.tar.gztar -zxf openssl-fips-2.0.16.tar.gzcd openssl-fips-2.0.16./config && make && make install# 下载并安装pcrepcre-8.42.tar.gtar -zxf pcre-8.42.tar.gcd pcre-8.42./configure && make && make install# 下载并安装zlibzlib-1.2.11.tar.gztar -zxf zlib-1.2.11.tar.gzcd zlib-1.2.11./configure && make && make install# 下载并安装Nginxnginx-1.14.0.tar.gztar -zxf nginx-1.14.0.tar.gzcd nginx-1.14.0./configure && make && make install
![7fcb88989ed428001b3da70948b86086.png](https://i-blog.csdnimg.cn/blog_migrate/3ce32ba511b172555326dea3e849ffc0.jpeg)
![756479b54bc79b1d306c5e328f4e6039.png](https://i-blog.csdnimg.cn/blog_migrate/ba7dc69ed70d11542275ff91f9176ff5.jpeg)
![6166944f22e6ac2ed179c037d6d95f84.png](https://i-blog.csdnimg.cn/blog_migrate/9db35412c373631dead27d05d2afaad2.jpeg)
2. 快速开始
nginx有一个master进程和多个worker进程。
master进程主要负责读取和评估配置,并维护worker进程。
worker进程负责实际的请求处理。worker进程的数量在配置文件中定义,可以指定一个固定值,也可以根据可用CPU内核的数量自动调整。
nginx及其模块的工作方式由配置文件决定。默认情况下,配置文件的名字叫nginx.conf,并且所在位置是/usr/local/nginx/conf, /etc/nginx, 或 /usr/local/etc/nginx
2.1. 启动/停止/重新加载配置
为了启动nginx,运行可执行文件nginx。一旦nginx启动以后,就可以通过 -s 参数来控制它。
![20a6c54da184ddb0a43ccc387be522a2.png](https://i-blog.csdnimg.cn/blog_migrate/422694a22c63396a47c2155729eeae52.jpeg)
用下面的语法格式:
![a067b45bdcee73ff2a6b98ba70b42353.png](https://i-blog.csdnimg.cn/blog_migrate/737f06dc6ae00311a6b9ab08392f2228.jpeg)
如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家。
例如,为了停止nginx进程,并且等待worker进程完成当前请求的处理,可以执行下面的命令:
nginx -s quit
(画外音:执行这个命令的用户必须与启动nginx的用户相同)
为了重新加载配置,执行下面的命令:
nginx -s reload
一旦master进程收到重新加载配置的信号以后,它检查配置文件的语法,并尝试应用配置文件中提供的配置。如果成功的话,master进程会启动一个新的worker进程并且发送消息给旧的worker进程请求它们立即shut down。否则,master进程回滚本次更改,继续用旧的配置工作。当旧的worker进程收到一个shut down的命令时,它停止接受新的连接,并继续服务当前请求,直到它收到的所有请求都处理完成。此后,旧的worker进程就退出了。
在Unix工具的帮助下(比如 kill)也可以向nginx进程发送信号。在这种情况下,信号直接被发送到给定的进程ID所代表的进程。默认情况下,nginx master进程的进程ID被写入nginx.pid文件中,该文件所在目录通常是/usr/local/nginx/logs 或 /var/run。例如,如果master进程ID是1628,那么为了发送QUIT信号给nginx,执行下面的命令:
kill -s QUIT 1628