Black White Cow
黑白牛的个人博客:分享技术、分享生活。人生苦短(Life is short, you need Python! ),别说废话(Talking is cheap, show me the codes!),新进小技术宅一枚,请多多关照!

从0开始,centOS 7 源码编译安装、配置 Nginx并开启系统服务

本文使用的VPS系统为centOS 7 安装并没有使用yum二进制安装,而是通过自行下载最新版Nginx进行源码编译安装。两者最大的区别是yum安装省心省力并默认安装了部分Nginx模块、自动设置了系统service服务,但无法自定义模块、功能和参数。而编译安装全部需要自己配置,那么就可以完全自定义了,也方便后期自己维护了。很多同学可能在编译安装后发现无法使用“service nginx status”等命令或是使用HTTPS协议提示缺少SSL模块等问题就是因为编译安装没有自动配置service也没有默认安装这些模块。

我首先介绍一下yum二进制无脑安装的方法:

1
yum install -y epel-release && yum install -y nginx

一行代码就无脑解决问题安装了epel源和自动安装Nginx,切记yum二进制安装无法定义安装路径更不能个性化配置各项设置和模块。

下面重点来了就来说说如何进行源码编译安装Nginx并且启动service服务:

①先把yum给升级一下:

1
yum -y update

说一下这个 -y ,它代表的意思是找到更新包(或安装包)后将所有提示is this ok?默认回答yes,就不用你自己再一个一个输入’ y ‘确认OK了,本质上和不用 -y 指令安装(升级)的效果是一样的。

②安装必要的依赖包:

这里说一下由于下面的指令也许会很长而且必须在一行内输入,大家想复制粘贴一下命令,从本blog上CTRL+C就能复制,但是SSH软件上CTRL+V并不能复制,所以额外简单说一下SSH软件上,以Xshell 6为例,粘贴的快捷键是SHIFT+INSERT也可以在终端框内点击右键粘贴。懂的朋友可以忽略我这段话。

下面来安装依赖包和必要的东东:

1
yum -y install gcc gcc-c++ automake make pcre pcre-devel zlib zlib-devel open openssl-devel gd-devel perl-devel perl-ExtUtils-Embed

③安装完成后我们需要下载Nginx的安装包:

你可以去Nginx官网下载:http://nginx.org/en/download.html

目前稳定版(stable version)是1.16.1 我用的是开发版(mainline version),开发版是目前主力打造的版本,可能会有许多未修复的bug,但也伴随着新特性。稳定版由于比较稳定,其中bug和各种奇怪的问题比较少,推荐生产力环境和企业使用。

1.16.1 下载链接:http://nginx.org/download/nginx-1.16.1.tar.gz

1.17.9 下载链接:http://nginx.org/download/nginx-1.17.9.tar.gz

两个链接都提供给你们了,可以自行斟酌选择下载。(下面的过程我都以稳定版为例,你们可根据自己的实际情况更改)

目前稳定版已经更新至1.18.0,已妥妥超越了开发版本号,所以下载稳定版使用吧

1.18.0下载链接:http://nginx.org/download/nginx-1.18.0.tar.gz

在VPS上下载文件我们需要用到wget命令,以搬瓦工的centOS7.6 X86_64为例原始系统中没有wget,需要安装。安装命令为:

1
yum -y install wget

下载完成后使用wget命令来将文件下载到VPS上(下面的-c参数表示使用断点续传,当然你还可以自定义下载目录,在结尾空格加上-P /home/这就表示下载到home目录下面,如果不定义下载目录则默认下载到根目录):

1
wget -c http://nginx.org/download/nginx-1.18.0.tar.gz

我默认你没有更改下载路径,那么下载完后文件会下载到根目录(~目录)下,由于下载的是tar.gz格式,需要解压,解压命令为:

1
tar -zxvf nginx-1.18.0.tar.gz

如果你需要把文件移动到别的地方需要使用cd指令和mv指令,下面例子是将压缩文件从根目录移动到home目录,你可以根据需要自行更改,:

1
2
cd    #选择根目录
mv nginx-1.18.0.tar.gz /home/    #将文件移动到home文件夹下

解压缩过后就要进行编译安装三剑客了:预编译、编译、安装了:

a.预编译:选择到解压缩的文件夹,下面我以文件在/home/下为例子书写代码,你只需要根据自己的文件实际所在位置修改即可:

1
2
3
mkdir /home/Nginx/    #定制一个安装的文件路径,你可以自己选择任意你方便的路径,在这里我在/home里创建了一个Nginx文件夹,准备安装在这里。
cd /home/nginx-1.18.0    #把当前路径指定到解压的文件夹,你们根据自己的路径填写
./configure --prefix=/home/Nginx/ --with-http_stub_status_module --with-http_ssl_module    #./configure 就是预编译的命令,--prefix=/home/Nginx 是将文件安装在我指定的路径 后面的 --with 是我设置安装的2个基本模块涉及到网站信息监测和使用HTTPS的SSL协议

在这里特别说明一下,我没有设置用户组和用户,也没有安装多余的模块,你们可以根据实际情况来安装,除了–with命令外还有–without命令来设置禁止安装某模块。
常用的设置有以下内容:(下面都是两个“ – ”显示问题看起来像一个)
–prefix=path 设置安装路径
–sbin-path=path 设置Nginx执行文件路径
–conf-path=path 设置Nginx配置文件路径
–pid-path=path 设置Nginx的主进程号pid文件路径
–error-log-path=path 设置Nginx主错误日志文件路径
–http-log-path=path 设置设置主请求的HTTP服务器的日志文件路径
–user=name 设置工作进程用户
–group=name 设置工作进程用户组

–with-pcre=path 设置PCRE源码库的路径
–with-zlib=path 设置zlib源码库的路径
–with-http_ssl_module 配置SSL模块,想使用HTTPS服务必备,现在HTTPS已经越来越普遍,是以后所有网站的趋势,该模块不会自动安装,须在预编译时手动加入
–with-http_stub_status_module 配置网站信息监测模块,这个好像默认就给安装了,但我不是太确定,你最好在第一次预编译就加上,省的后面加模块麻烦
–with-http_gzip_module 配置gzip模块,这个用来压缩文件流量,优化访问速度的模块,我不知道是否默认安装了,为了方便起见还是加上这个模块,节省后期麻烦
(关于gzip模块,我已经查过了确认是默认安装的,不用添加模块)

以上设置,标红的部分表示必须设置的配置或高度建议设置的模块!标绿色部分可以设置也可以不设置,他们可以后期在nginx.conf文件中修改。标黑色部分不建议设置,因为两个支持库路径好像在编译过程中自动的匹配,Nginx主执行文件路径完全没必要设置保持默认即可,改了反而可能造成Nginx安装配置不成功。

当然预编译所包含的模块和设置信息完全不止这一点点,你可以在Nginx解压的文件夹内使用以下命令查询:

1
./configure --help

再次说明一下gzip模块是默认安装的,在1.17.9的help命令中可以看到2个gzip模块名称相关命令:一个是 –without-http_gzip_module的禁用命令,用来禁用gzip,另一个是–with-http_gzip_static_module,又称作预读gzip功能,是针对nginx server的静态文件,比如example.html,如果启用了gzip_static on,那么若在同一目录下还有example.html.gz的压缩版本存在,则nginx的gzip服务会以example.html.gz作为html的gzip版本进行发布,而非采取即时压缩html进行发布。因此可以采用cpu消耗更大,但压缩效果更好的算法,预先压缩好.gz文件存放在相应文件夹内,而不是让nginx在访问的时候即时压缩,从而达到节省cpu的目的。我当时安装时并没有刻意加上–with-http_gzip_module发现也可以通过配置conf打开该功能,但是很多教程和网络课上都推荐要添加,所以我在这里写上了,如果所有依赖包都安装了还是有报错和gzip相关,你可以将gzip模块的指令删除。除此之外你还可以参考Nginx中文站给出的各种with指令的解释:https://www.nginx.cn/install

b.编译及安装:
预编译完成后我把最后两步做一步写了:

1
2
make   #编译
make install    #安装

安装完毕我们需要启动Nginx服务,首先进入我们的安装路径的中的../sbin文件中,然后输入./nginx即可启动程序。可输入ps -ef | grep nginx查看是否启动成功。还可输入netstat -tunlp | grep nginx来查看80端口是否启用nginx监听

1
2
3
4
cd /home/Nginx/sbin/    #选择进入到安装目录,大家根据实际路径填写
./nginx    #启动服务
ps -ef |grep nginx    #查看nginx进程
netstat -tunlp | grep nginx    #查看nginx端口

到这里如果没有提示有错误,那么恭喜你Nginx已经初步安装成功了,这个时候去访问你的VPS的公网ip吧,就会看到Nginx的默认首页。安装部分即大功告成!撒花花!

另外提供一个查看Nginx各版本更新翻译的网站:https://www.wc1234.cn/2028.html

④配置Nginx:

Nginx的配置文件在安装文件夹下的/conf/文件夹内。有2个配置文件,一个叫做nginx.conf还有一个叫做nginx.conf.default。default的那个是缺省设置不用管他,如果以后把配置搞乱了可以用default来恢复。我们可以用cat指令来查看它,用vi指令来修改它。

1
2
3
cd /home/Nginx/conf/    #进入到conf目录,路径根据自己的填
cat ./nginx.conf    #查看conf文件,只用来查看,可以不输入该命令直接用vi来查看并修改
vi ./nginx.conf    #修改conf文件

这里要说一下vi指令,进入文档修改器后,会闪一个光标,表示处于的位置,现在只能看还未进入插入修改不能进行修改,这个时候你按一下键盘上的“ i ”键可以看见终端黑屏的左下角显示了Insert就可以开始增删改查了,用方向键把光标移动到要修改的地方开始修改吧,注意一点Xshell软件不支持小键盘,不要用小键盘输入数字,会变成奇怪的东西格式也会乱,尽量用主键区的按键输入。

修改完成后按一下ESC键就退出 Insert模式 了,这个时候文件还未保存,依然显示在终端上,你需要直接输入” :wq “然后回车,冒号不能掉!w表示写入,q表示退出。如果改错了不想修改想直接退出输入”:q!”(这里用“ :q ”直接退出会报错,需要加一个个感叹号表示强制退出)修改的操作就介绍到这里。

下面我来说一下如何修改配置的内容(下面修改配置也同样使用vi指令及相关方法):

我先给大家看看原始的nginx.conf文件,并简单的逐个讲一下每个配置的用途:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#user  nobody;    #使用服务的用户组和用户名,配置的时候用户名在前,用户组在后
worker_processes  1;    #启动进程数,和CPU核心数对应,代表使用X核CPU运行X进程,可以在VPS里查看自己是几核CPU,以搬瓦工为例X1 CPU代表1核Xn CPU代表n核


#全局错误日志,分为| debug调试 | info信息 | notice通知 | warn警告 | error错误 | crit严重错误 | alert警报 | emerg紧急事件| ,越往后走记录信息越少,不要配置info等级较低的级别,会带来大量的磁盘I/O消耗。一般生产场景用 warn error crit三个!
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#PID文件,储存nginx的PID信息
#pid        logs/nginx.pid;


#工作模式及连接数上限
events {
    worker_connections  1024;
}


http {
    include       mime.types;    #设定mime类型,类型由mime.type文件定义
    default_type  application/octet-stream;

    #设定日志格式
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on。如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime。sendfile函数开启可以有提高web server性能的作用,它能减少数据传输的步骤、上下文切换和拷贝的次数。
    #tcp_nopush在使用sendfile函数时,tcp_nopush才起作用,它和指令tcp_nodelay是互斥的。tcp_nopush效果是数据包不会马上传送出去,等到数据包最大时,一次性的传输出去,有助于解决网络堵塞。
    sendfile        on;
    #tcp_nopush     on;

    #连接超时时间
    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip压缩
    #gzip  on;

    #设定虚拟主机配置
    server {
        listen       80;    #侦听端口
        server_name  localhost;    #定义域名
       
        #charset koi8-r;    #定义编码

        #access_log  logs/host.access.log  main;    #设定本虚拟主机的访问日志

        location / {
            root   html;    #定义服务器的默认网站根目录位置
            index  index.html index.htm;    #定义首页索引文件的名称
        }

        定义错误提示页面(404错误和50X错误)
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        #使用Apache代理PHP脚本请求
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        #使用FastCGI处理转发的全部PHP脚本请求
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        #禁止访问htaccess文件相关设置
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    #其他虚拟主机配置
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    #HTTPS协议配置
    # HTTPS server
    #
    #server {
    #    listen       443 ssl;    #侦听443端口
    #    server_name  localhost;    #域名

    #    ssl_certificate      cert.pem;    #证书路径
    #    ssl_certificate_key  cert.key;    #秘钥路径

    #    ssl_session_cache    shared:SSL:1m;    #会话缓存
    #    ssl_session_timeout  5m;    #会话超时时间

    #    ssl_ciphers  HIGH:!aNULL:!MD5;    #加密算法
    #    ssl_prefer_server_ciphers  on;    #设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件

    #    location / {
    #        root   html;    #HTTPS协议网页根目录
    #        index  index.html index.htm;    #定义加密首页索引文件的名称
    #    }
    #}

}

以上简单说明了配置文件里各个项目的用途,以下以我的网站为例,给出一个简单的配置表,各位可以根据自己实际情况调整:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
user  wp www;    #wp用户名在前,www用户组在后,如果是没有添加用户和用户组报错。可以注释掉也不影响使用
worker_processes  1;    #我是1核的服务器所以填1进程  

#全局错误日志我用的warn警告 | error错误 | crit严重错误 |
error_log  logs/error.log  warn;
error_log  logs/error.log  error;
error_log  logs/error.log  crit;

#PID文件,储存nginx的PID信息,取消注释然后就不用动了
pid        logs/nginx.pid;


#这里添加一行最大连接数限制,然后将连接数改为65535,一般小站达不到这么大访问量但你可以先设置以备不时之需,并使用一个最大连接限制数
worker_rlimit_nofile 65535;
events {
     use  epoll    #多路复用IO(I/O Multiplexing)中的一种方式,仅用于linux2.6以上内核,可以大大提高nginx的性能
     worker_connections  65535;    #设置工作连接数
}


http {
     include       mime.types;    #设定mime类型,类型由mime.type文件定义,不用动它
     default_type  application/octet-stream;

     #把所有日志格式注释取消
     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"';

     access_log  logs/access.log  main;
     
     #sendfile 打开
     #tcp_nopush 打开
     sendfile        on;
     tcp_nopush     on;

     #连接超时时间60就可以了
     #keepalive_timeout  0;
     keepalive_timeout  60;

     #gzip压缩打开
     gzip  on;

     #设定虚拟主机配置
     server {
         listen       80;    #侦听80端口
         server_name  www.thebwc.tech;    #定义域名,改成你自己的
         rewrite ^(.*) https://$server_name$1 permanent;   #如果你使用了https需要在普通的80端口写一条rewrite将基于http访问网站指向基于https访问网站


         charset utf-8;    #使用UTF-8编码

         access_log  logs/host.access.log  main;    #设定本虚拟主机的访问日志
         location / {
             root   html;    #默认路径为安装路径的html文件夹下,我放到了这里面,你也可以放到其他位置,需要修改相应的路径
             index  index.html index.htm;    #定义首页索引文件的名称,不用动
         }

         #定义错误提示页面(404错误和50X错误),这里路径默认是html文件夹下的404.html页面,如果你做了40X和50X的页面请指定相应路径
         error_page  404              /404.html;

         # redirect server error pages to the static page /50x.html
         #
         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
             root   html;
         }

         #使用Apache代理PHP脚本请求,不用Apache的不用取消这块注释。
         # proxy the PHP scripts to Apache listening on 127.0.0.1:80
         #
         #location ~ \.php$ {
         #    proxy_pass   http://127.0.0.1;
         #}

         #使用FastCGI处理转发的全部PHP脚本请求,后期安装WordPress需要修改,对于普通静态页面这块代码也不用动
         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
         #
         #location ~ \.php$ {
         #    root           html;
         #    fastcgi_pass   127.0.0.1:9000;
         #    fastcgi_index  index.php;
         #    fastcgi_param  SCRIPT_FILENAME  
/scripts$fastcgi_script_name;
         #    include        fastcgi_params;
         #}

         #禁止访问htaccess文件相关设置
         # deny access to .htaccess files, if Apache's document root
         # concurs with nginx's one
         #
         #location ~ /\.ht {
         #    deny  all;
         #}
     }
     #其他虚拟主机配置,如果需要多域名指向同一公网IP,需要设置这里,后面会讲到还可以将不同网站设置不同conf文件,一般不在主conf里面进行设置,现在单站点就不用动这里。
     # another virtual host using mix of IP-, name-, and port-based configuration
     #
     #server {
     #    listen       8000;
     #    listen       somename:8080;
     #    server_name  somename  alias  another.alias;
     #    location / {
     #        root   html;
     #        index  index.html index.htm;
     #    }
     #}
     #HTTPS协议配置,网站使用HTTPS访问,讲获取免费证书的时候会详细说明如何配置,目前先让网站用HTTP跑起来,可以先不管,下面有详细的配置说明,有基础的同学可以自己先尝试获取证书并配置一下。
     # HTTPS server
     #
     #server {
     #    listen       443 ssl;    #侦听443端口
     #    server_name  localhost;    #域名
     #    ssl_certificate      cert.pem;    #证书路径
     #    ssl_certificate_key  cert.key;    #秘钥路径
     #    ssl_session_cache    shared:SSL:1m;    #会话缓存
     #    ssl_session_timeout  5m;    #会话超时时间
     #    ssl_ciphers  HIGH:!aNULL:!MD5;    #加密算法
     #    ssl_prefer_server_ciphers  on;    #设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件
     #    location / {
     #        root   html;    #HTTPS协议网页根目录
     #        index  index.html index.htm;    #定义加密首页索引文件的名称
     #    }
     #}
}

到这里Nginx的安装和基础配置已经完成,但是为了nginx不发生错误,我们还要效验一下配置文件的语法,你需要在Nginx安装路径的/sbin/文件夹下使用以下命令:

1
./nginx -t

若没有报错并提示successful,那说明配置文件无问题,可以开始Nginx服务了。如果之前已经打开过服务了,不要再开一遍,它会报错80端口占用(被已经打开的Nginx占了),你需要在/sbin/下使用:

1
./nginx -s reload

服务成功运行并且你上传网页后,通过绑定好的域名就可以访问自己的网站了。撒花!!!

⑤现在就差最后一部了,安装Nginx系统服务:

由于我们是源码编译安装,所以没有yum二进制安装那样自动添加了nginx.service服务,所以我们需要手动安装。

第一步,我们先创建nginx.service文件

1
vi /lib/systemd/system/nginx.service

创建后打开了一个空文档,按“ i ”键进行编辑,将下列内容输入:

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=nginx
After=network.target
 
[Service]
Type=forking    #类型为后台运行
ExecStart=/home/Nginx/sbin/nginx    #注意//路径填你自己安装的绝对路径,这里写的是我演示的路径
ExecReload=/home/Nginx/sbin/nginx -s reload    #注意//路径填你自己安装的绝对路径,这里写的是我演示的路径
ExecStop=/home/Nginx/sbin/nginx -s quit    #注意//路径填你自己安装的绝对路径,这里写的是我演示的路径
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

[Unit]
Description: 描述服务
After: 描述服务类别

[Service] 服务运行参数的设置
Type=forking 采用后台运行
ExecStart=/路径/nginx 服务运行命令
ExecReload=/路径/nginx -s reload 重启命令
ExecStop=/路径/nginx -s quit 停止命令
PrivateTmp=True 为服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

完毕后输入“ :wq ”保存并退出,至此,已经可以使用systemctl或service命令来控制nginx的基本运作和查看状态了。

下面奉上几条基础命令

1
2
3
4
5
6
7
systemctl start nginx.service    #启动nginx服务
systemctl status nginx.service    #查看nginx服务状态
systemctl list-units --type=service    #查看所有已启动的服务
systemctl restart nginx.service    #重启nginx服务
systemctl stop nginx.service    #停止nginx服务
systemctl enable nginx.service    #开机启动nginx服务
systemctl disable nginx.service    #禁止开机启动nginx服务

service服务安装完毕后别忘记使用:

1
systemctl enable nginx.service

让Nginx服务伴随VPS开机启动!

Nginx除了可用系统服务命令外,还有一系列程序命令,也分享给大家:

以下命令须在安装路径的sbin文件夹下使用

1
2
3
4
5
6
7
8
9
10
11
./nginx -s reopen #重启Nginx
./nginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginx
./nginx -s stop #强制停止Nginx服务
./nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)
./nginx -t #检测配置文件是否有语法错误,然后退出
./nginx -T #检测配置文件是否有语法错误,转储并退出
./nginx -v #显示版本信息并退出
./nginx -V #显示版本和配置选项信息,然后退出
./nginx -q #在检测配置文件期间屏蔽非错误信息
./nginx -p prefix #设置前缀路径(默认是:/usr/share/nginx/)
./nginx -c filename #设置配置文件(默认是:/etc/nginx/nginx.conf)

看完这些,你是否突然发现刚才配置service文件里的命令来源于这里?那我能在service里添加 -t 或 -s reopen这些命令方便使用吗?这个坑我踩过了,除了上面3个基本的和stop,其他命令service都不认,而且定义的时候quit和stop只能2选1设置一个。

Share

sakura669

Mihoyo save tech otakus

You may also like...

2 Responses

  1. 2020年5月4日

    […] 2、N:安装nginx的文章,本站有写过一篇,可以参看它来安装:安装教程地址,点击查看 […]

  2. 2020年5月9日

    […] 2、安装NginX-1.18.0稳定版,你可以参考我写的centOS7从0开始编译安装nginx教程 […]

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

%d 博主赞过: