云端服务器的Nginx管理

1.源码安装Nginx

在这里可以下载到Nginx的各个版本,http://nginx.org/en/download.html。

wget下载后解压,得到Nginx的源码。

首次安装,一般按需安装一些基础的模块就行(之后有其他需要的模块可以再安装)

1
2
3
4
5
6
./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-threads \
--add-module=/usr/local/nginx/third_module/headers-more-nginx-module

configure之后 make,make install 就能将Nginx安装到了 /usr/local/nginx 下。

2.Nginx常用启停命令

  • 指定配置文件启动Nginx:

    -clink
    1
    - 停止Nginx(按步骤有序关停):```nginx -s quit

  • 强制立即停止Nginx:

    -s stop```
    1
    - 重启Nginx(不更换配置文件路径):```nginx -s reload

3.加装Nginx模块

针对本机已经安装Nginx,但需要按需加装一些module的情况。我们需要用源码再进行一次configure & make。

所以,我们一般会保留本机上安装的Nginx版本对应的源码,便于下次重新编译。

以加装 WebDav模块为例,首先我们要看当前已经安装了哪些模块。用

-V```命令可以进行查看当前的configure参数。增加需要添加的模块先关的配置,在源码文件夹下,重新进行configure & make。
1
2

./configure –prefix=/usr/local/nginx \
–with-http_ssl_module \
–with-http_stub_status_module \
–with-http_realip_module \
–with-threads \
–with-http_dav_module \ ##新增模块
–add-module=/usr/local/nginx/third_module/headers-more-nginx-module
–add-module=/usr/local/nginx/third_module/nginx-dav-ext-module ##新增第三方模块

1
2
3
4
5
6
7
8
9
10
make后(无需进行make install)在源码文件夹下的 objs 文件夹下会有新的nginx二进制执行文件。
### 4.替换二进制文件
这里记录有损替换(非平滑替换)。
首先停掉之前的nginx:```nginx -s quit```。将之前的nginx二进制文件备份```mv nginx nginx.bak```。
用新的二进制文件进行替换 ```mv /user/local/nginx/source_code/nginx-1.23.0/objs/nginx /user/local/nginx/sbin

用新的nginx二进制文件启动nginx即可。

5.保存好源码文件 & 第三方包

在重新添加模块的过程中,我们既泳道了源码,也用到了之前第三方包的文件。所以两者我们都需要进行保留,以防下次重新编译时还要去下载。

我的做法是在nginx文件夹下用 third_module 文件夹管理第三方的module文件,用 source_code 文件夹管理源码。