欢迎大家关注本博,同时欢迎大家评论交流,可以给个赞哦!!!
Nginx是一个高性能的HTTP和反向代理Web服务器,同时提供了IMAP/POP3/SMTP等协议的支持,现在常用的Web服务器仍然有很多,Nginx凭借其高性能和低资源使用率,其用户占有率在逐年攀升,并有一统江湖的趋势。关于Nginx的太详细的介绍就不多说了,网上有很多文章都有介绍,下面罗列了关于Nginx的几个重点内容:
· Nginx能够选择高效的epoll(Linux 2.6内核)、kqueue(FreeBSD)、eventport(Solaris 10)作为网络I/O模型。
· 官方测试能够支撑5万并发连接,实际生产环境中可支持2~4万并发连接数。
· 相较于Apache采用的select网络I/O模型来说,非常高效。
· Libevent:一个事件触发的网络库,适用于Windows、Linux、Bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。
· Windows版本的Nginx性能要比Linux/Unix版本的Nginx差很多
Nginx 下载
下载地址:http://nginx.org/en/download.html
本文选择最新版本1.19.3进行下载,分别下载nginx-1.19.3.tar.gz和nginx/Windows-1.19.3.zip到本地。
Windows 下安装
Nginx在Windows下安装比较简单,只需要将nginx-1.19.3.zip解压到一个不包含空格的目录下,使用命令启动即可。
本文将Nginx解压到如下目录:
然后,在cmd窗口中执行如下命令,即可启动Nginx:
Nginx未指定配置文件启动时,默认使用同目录下conf/nginx.conf配置,默认监听端口是80,我们在浏览器中输入http://127.0.0.1/,访问Nginx的欢迎页面,表示Nginx已启动。
Linux 下安装
本文在CentOS 7系统下进行安装演示,首先借助XShell和XFtp工具将下载的nginx-1.19.3.tar.gz上传到CentOS 7中,并使用tar zxvf nginx-1.19.3.tar.gz解压,进入到解压目录nginx-1.19.3,执行**./configure**命令,进行编译前配置。
Nginx配置和编译依赖于gcc编译器,若系统未安装则会出现如下问题,使用yum -y install gcc-c++安装即可。
Nginx安装包包含了很多依赖模块,这些模块中可能会依赖三方类库,若不需要这些功能,配置时跳过即可。在我的CentOS 7系统中,配置会提示rewrite和gzip的依赖类库存在缺失,如下图所示,配置时,使用命令跳过这两个模块。
./configure --without-http_rewrite_module --without-http_gzip_module
make & make install
Nginx默认安装在/usr/local/nginx目录下,cd到/usr/local/nginx/sbin目录下,运行./nginx或者./nginx -c /usr/local/nginx/conf/nginx.conf进行启动,其实./nginx默认使用的配置文件就是/usr/local/nginx/conf/nginx.conf。
启动后借助CentOS 7提供的curl工具,对服务进行简单验证,在命令行输入curl 127.0.0.1,出现如下图的响应,即表示服务已启动成功。
Nginx 操作命令
Nginx启动:
· Windows:start nginx.exe -c 配置文件路径
· Linux:./nginx -c 配置文件路径
若未通过-c指定配置文件路径时,默认使用安装目录conf/nginx.conf作为配置文件。
Nginx停止:
通过系统控制:
· Windows:通过任务管理器图形化界面直接关闭进程。
· Linux:ps -ef|grep nginx
图中标识master的是主进程。
通过如下的系统信号可以方便的控制Nginx的停止:
kill -QUIT Nginx主进程号
kill -TERM Nginx主进程号
kill -INT Nginx主进程号
pkill -9 nginx
通过命令控制:
· Windows:
nginx.exe -s quit
nginx.exe -s stop
· Linux:
./nginx -s quit
./nginx -s stop
Nginx 平滑重启
日常应用中,经常会出现需要频繁修改Nginx配置文件的情况,此时需要平滑的重启服务,以便不会对服务造成太大影响。
当修改配置文件后,为避免配置文件有误导致问题,首先通过如下命令判断配置文件语法是否正确:
· Windows:nginx.exe -t -c 配置文件路径
· Linux:./nginx -t -c 配置文件路径
通过如下命令重启Nginx服务:
· Windows:nginx.exe -s reload
· Linux:./nginx -s reload
kill -HUP Nginx主进程号
总结
实际应用中,需要根据实际场景灵活运用,本文只演示了CentOS 7下的安装,在其他类Unix系统中,可能会遇到其他的问题,都需要根据实际情况进行处理。
若文中存在错误和不足,欢迎指正!
本博微信公众号“超哥说码”,欢迎大家订阅,公众号正在完善中,会及时将更优质的博文推送于您!