nginx-1(2)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

指定nginx软件的安装路径.

生成的nginx软件的Makefile文件就在当前目录下,自己可以ls查看一下。

5.编译和安装nginx

得到了nginx软件的Makefile文件就可以编译源码了:

[root@ip40 nginx-1.6.2]# ls

auto 
 
 
 
CHANGES.ru 
configure 
html

Makefileobjs 
 
 
src

CHANGES 
conf 
 
 
 
 
 
 
contrib 
 
 
LICENSE 
man 
 
 
 
 
 
README

[root@ip40 nginx-1.6.2]# make

[root@ip40 nginx-1.6.2]# make install

#安装完成后,到刚才–prefix指定的安装目录下看看

[root@ip40 nginx-1.6.2]# cd /usr/local/nginx

[root@ip40 nginx]# ls

conf 
html 
logs 
sbin

niginx服务器的安装目录中包含了conf,html,logs,sbin四个目录:

(1)conf目录
[root@ip40 conf]# ls

fastcgi.conf 
 
 
 
 
 
 
 
 
 
 
koi-win 
 
 
 
 
 
 
 
 
 
 
 
scgi_params

fastcgi.conf.default 
 
 
mime.types 
 
 
 
 
 
 
 
 
scgi_params.default

fastcgi_params 
 
 
 
 
 
 
 
 
mime.types.default 
uwsgi_params

fastcgi_params.default 
nginx.conf 
 
 
 
 
 
 
 
 
uwsgi_params.default

koi-utf 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
nginx.conf.default 
win-utf

conf目录存放了nginx的所有配置文件,其中nginx.conf是Nginx服务器的主配置文件,其他配置文件是用来配置nginx相关功能的。在这个目录下所有的配置文件都有对应的以.default结尾的默认配置文件,方便我们将配置过的.conf文件回复到初始状态。

(2)html目录

[root@ip40 html]# ls

50x.html 
index.html

html目录中存放了Nginx运行过程中调用的html静态网页文件,我们自定义的网页文件都要放到这里才能解析。

(3) 
logs目录

logs目录存放Nginx服务器日志文件的,目前Nginx服务器没有启动,所以目录是空的。

(4) sbin目录

[root@ip40 sbin]# ls

nginx

sbin目录中有一个nginx文件,这是nginx服务器的主程序。

打开nginx的配置文件修改user指令(nginx.conf配置文件在conf目录下):

vim conf/nginx.conf

把user 
 
nobody这行中的nobody改成刚才创建的www用户 , 然后保存退出。

修改nginx安装目录(/usr/local/nginx是安装时指定的目录)的权限,让www用户能访问

chown 
-R www:www     nginx

chmod 
 
 
 
u+w 
  nginx

6.Nginx服务器的启动/停止/重启
6.1 nginx服务的启动:
(nginx服务器启动必须用超级用户root权限)

[root@ip40 nginx]# cd /usr/local/nginx/sbin

[root@ip40 sbin]# ./nginx-h 
 
 
(-h参数是列出帮助信息)

nginx version: nginx/1.6.2

Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-gdirectives]

Options:

-?,-h 
 
 
 
 
 
 
 
: thishelp 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
#显示该帮助信息

-v 
 
 
 
 
 
 
 
 
 
 
: show version and exit 
 
#打印版本和退出

-V 
 
 
 
 
 
 
 
 
 
 
: show version and configure options thenexit 
 
#打印版本和配置选项然后退出

-t 
 
 
 
 
 
 
 
 
 
 
: test configuration and exit 
 
#测试nginx配置文件是否有语法错误和退出

-q 
 
 
 
 
 
 
 
 
 
 
: suppress non-error messages during configuration testing #在测试nginx配置文件是否有语法错误过程中不会显示非错误的消息

-ssignal 
 
 
 
: send signal to a master process: stop, quit, reopen,reload 
#发送信号到主进程

-pprefix 
 
 
 
: set prefix path (default: /usr/local/nginx/) 
#指定nginx服务器所在的路径前缀

-c filename 
 
: set configuration file (default: conf/nginx.conf)#指定nginx配置文件路径

-g directives : set global directives out ofconfiguration file

以下是每个参数的分析:

-t检查nginx服务器配置文件是否有语法错误,可以与-c一起使用,如果检查通过列出以下信息:

[root@ip40 sbin]# ./nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.confsyntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test issuccessful

-s用于向nginx服务器的主进程发送信号来控制服务器的启动,停止,重启。

-p用来改变nginx服务器的安装路径,用在平滑升级nginx服务器场合。

-c用来指定启动nginx服务器的配置文件,用在平滑重启Nginx服务器场合。

-g用来补充nginx配置文件的,向Nginx服务器指定启动时应用于全局的配置。

分析了以上参数后,启动nginx服务器(只能用超级用户root启动nginx主进程,由主进程所创建和管理nginx子进程):

[root@ip40 sbin]# ./nginx

查看nginx服务的进程:

[root@ip10 ~]# ps -ef | grep nginx

root 
 
 
 
 
2584 
 
 
 

0 20:28? 
 
 
 
 
 
 
00:00:00 nginx: master process ./sbin/nginx

www 
 
2585 
2584 
0 20:28? 
 
 
 
 
 
 
00:00:00 nginx: worker process

root 
 
 
 
 
3208 
3197 
0 20:40pts/0 
 
 
00:00:00 grep --color=auto nginx

大家可以看到 2585工作进程是2584主进程创建的子进程,2585子进程的所属用户是我们刚才配置的www,由主进程管理。

[root@ip10 ~]# netstat -tnlp | grep 80

tcp 
 
 
 
 
 
 

 
 
 
 
00.0.0.0:80 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0.0.0.0:* 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LISTEN 
 
 
 
 
2584/nginx

在浏览器地址栏中输入localhost 后会看到如下的网页内容

Welcome to nginx!

If you see this page, the nginx web server is successfullyinstalled and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

上面的网页内容正式nginx安装目录下的html目录下的index.html网页文件内容,说明安装成功

6.2 nginx服务器的停止:

nginx服务器的停止有两种方法:一个是快速停止,一种是平滑停止。

快速停止是指立即停止当前nginx服务正在处理的所有网络请求,马上丢弃连接,停止工作。

平滑停止是指允许Nginx服务将当前正在处理的网络请求处理完成,但不再接收新的请求,之后关闭连接,停止工作。

1)查询主进程号     
ps -ef | grep nginx
注意:主进程号也能在nginx.conf配置文件中配置的pid文件中查到。
2)停止nginx
A.平滑停止
kill -QUIT  主进程号

[root@ip10 nginx]# ps -ef | grep nginx
root     5511    1  0 18:55?       00:00:00 nginx: master process ./sbin/nginx
www   5512  5511  0 18:55?       00:00:00 nginx: worker process
root     5514  5356  0 18:55pts/0   00:00:00 grep --color=auto nginx
[root@ip10 nginx]# kill -QUIT 5511

B.快速停止
kill -TERM 主进程号

[root@ip10 nginx]# ps -ef | grep nginx
root     5410    1  0 18:51?       00:00:00 nginx: master process ./sbin/nginx
www   5411  5410  0 18:51?       00:00:00 nginx: worker process
root     5458  5356  0 18:52pts/0   00:00:00 grep --color=auto nginx
[root@ip10 nginx]# kill -TERM 5410
C.强制停止(上述两种方法失效后,强制停止)
kill  -9  主进程号

6.3 nginx重启命令
nginx重启可以分成两种类型

1.先关闭nginx服务,然后修改配置文件或者用新的配置文件替换旧的配置文件,最后启动nginx服务。

[root@ip10 nginx]# ps -ef | grep nginx
root     2584    1  0 20:28?       00:00:00 nginx: master process ./sbin/nginx
www  2585  2584  0 20:28?       00:00:00 nginx: worker process
root     3299  3197  0 21:03pts/0   00:00:00 grep --color=auto nginx

先关闭nginx
[root@ip10 nginx]# kill -QUIT 2584

然后重新启动nginx

[root@ip10 nginx]# ./sbin/nginx [-c newConfFIle]

newConfFile:是可选项,新的配置文件的位置(一般只是对旧的nginx.conf配置文件内容进行修改,修改完毕后重启nginx就可以了,或者用新的配置文件替换旧的配置文件,不会变动配置文件的默认位置的,也就是只修改内容,不会变动位置,所以无需指定配置文件位置,用默认位置就好了)

2.平滑重启.

平滑启动是这样一个过程,当 nginx主进程收到 HUP信号后,它会首先读取新的配置文件进行测试(如果指定配置文件,就使用指定的,否则使用默认的),如果配置语法正确,nginx主进程启动新的工作进程并从容关闭旧的工作进程。通知工作进程关闭监听套接字但是工作进程继续为当前连接的客户提供服务。所有客户端的服务完成后,旧的工作进程被关闭。如果新的配置文件应用失败,nginx 将继续使用旧的配置进行工作。

第一步:或者修改nginx.conf配置文件,或者直接用新的nginx.conf配置文件替换旧nginx.conf配置文件(直接复制到旧的nginx.conf所在位置替换就好了)。

[root@ip10 nginx]# vim ./conf/nginx.conf

[root@ip10 nginx]# ps -ef | grep nginx
root     2584    1  0 20:28?       00:00:00 nginx: master process ./sbin/nginx
www   2585  2584  0 20:28?       00:00:00 nginx: worker process
root     3299  3197  0 21:03pts/0   00:00:00 grep --color=auto nginx

第二步:使用 kill -HUP 主进程号平滑重启就可以了。
[root@ip10 nginx]# kill -HUP 2584

6.4 Nginx服务器的平滑升级

如果需要对当前的nginx服务器进行版本升级,最简单的办法就是停止当前的nginx服务,

然后开启新的nginx服务,但这样会导致在一段时间内,用户无法访问服务器,为了解决这个问题,nginx服务器提供了平滑升级的功能:

平滑升级

你可以在不中断服务的情况下 - 新的请求也不会丢失,使用新的 nginx可执行程序替换旧的(当升级新版本或添加/删除服务器模块时)。

首先,使用新的可执行程序替换旧的(最好做好备份),然后,发送 USR2 (kill -USR2pid)信号给主进程。主进程将重命名它的 .pid 文件为**.oldbin**(比如:/usr/local/nginx/logs/nginx.pid.oldbin),然后执行新的可执行程序,依次启动新的主进程和新的工作进程:

[root@ip10 nginx]# kill -USR2 33126

[root@ip10 nginx]# ps -ef | grep nginx

  PID  PPID USER    %CPU   VSZ WCHAN  COMMAND

33126     1 root     0.0  1164 pause  nginx: master process /usr/local/nginx/sbin/nginx


33134 33126 www   0.0  1368 kqread nginx: worker process (nginx)


![img](https://img-blog.csdnimg.cn/img_convert/8c9fcda3422ee8985d2bccda8aeed501.png)
![img](https://img-blog.csdnimg.cn/img_convert/3c57597c1245183dc2e00861279df20a.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

,依次启动新的主进程和新的工作进程:


 [root@ip10 nginx]# kill -USR2 33126


[root@ip10 nginx]# ps -ef | grep nginx  
 



PID PPID USER %CPU VSZ WCHAN COMMAND

33126 1 root 0.0 1164 pause nginx: master process /usr/local/nginx/sbin/nginx

33134 33126 www 0.0 1368 kqread nginx: worker process (nginx)

[外链图片转存中…(img-e4bvfuJb-1715810506137)]
[外链图片转存中…(img-bVk9prqP-1715810506137)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值