源码编译安装Nginx

1.源码下载

Nginx在github上有一个只读源码库,我获取的源码方式为:

git clone https://github.com/nginx/nginx.git

2.configure

我下载源码的时候,github上的源码的目录结构为: auto, conf, contrib, docs, misc, src共6个目录。src目录是源代码文件,docs下面是帮助文档, conf下面是一些配置文件, auto下面有configure文件,由于configure文件会应用 auto/options, auto/init, auto/sources等文件,所以在运行./configure之前要把configure文件拷贝到auto目录的父目录下。

cd ./nginx
cp ./auto/configure .
./configure

3.编译安装

make
sudo make install

默认安装后nginx位于/usr/local/nginx/目录下,nginx的配置文件在/usr/local/nginx/conf/nginx.conf文件,我在测试时,默认的服务器监听端口是80,可以根据自己的需要修改端口,例如我将端口修改为8000。

4.Nginx基本信息检查

检查配置文件的正确性:

/usr/local/nginx/sbin/nginx -t 或者
/usr/local/nginx/sbin/nginx -t -c /urs/local/nginx/conf/nginx.conf

其中,-t 参数用于检查配置文件是否正确,但并不执行。 -c参数用于指定配置文件的路径。如果不指定文件路径,nginx默认会在安装时指定的安装目录下查找conf/nginx.conf配置文件。
如果检测的配置文件正确。显示的结果如下:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

显示Nginx版本及相关编译信息

要查看Nginx的版本信息可以运行:

#/usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.11.4
#

如果不仅是要显示Nginx的版本信息,还要现实nginx在编译时指定的相关模块信息,可以:

#/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.11.4
built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
configure arguments:
#

Nginx的启动、关闭与重启

Nginx对进程的控制能力非常强大,可以通过信号来控制进程。常用的信号有:

QUIT,表示处理完当前请求后,关闭进程
HUP,表示重新加载配置,也就是关闭原有的进程,并启动新的工作进程。此操作不会中断用户的访问请求。因此,可以通过此信号平滑的重启Nginx。
USR1,用于Nginx的日志切换,也就是重新打开一个日志文件,例如每天要生成一个新的日志文件时,可以使用这个信号来控制。
USR2,用于平滑升级可执行程序。
WINCH,从容关闭工作进程。

Nginx的启动

Nginx的启动比较简单

#/usr/local/nginx/sbin/nginx

即可启动Nginx。启动后可以通过如下命令查看Nginx的启动进程:

#ps -ef | grep nginx
root 9725 1 0 16:40 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody 9916 9725 0 16:47 ? 00:00:00 nginx: worker process
root 10421 10229 0 17:44 pts/3 00:00:00 grep –color=auto nginx
#

Nginx的关闭

如果要关闭Nginx的进程,可以使用kill命令。
kill -XXX pid
其中,-XXX就是信号名, pid是Nginx的进程号,可以通过如下两个命令获得:

#ps -ef | grep “nginx: master process”| grep -v “grep”| awk ‘{print $2}’
9725
#
或者:
#cat /usr/local/nginx/logs/nginx.pid
9725
#

Nginx的平滑重启

要不间断服务地重新启动Nginx,可以使用如下命令:

#kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

参考文档:www.educity.cn/linux/1147279.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值