CentOS 7 编译安装 Nginx
背景
一开始使用 docker 搭建了一个 web 服务器,但是由于 docker 不太方便的部署 TLS 证书,故使用 Nginx 做反向代理,实现 https 连接。
下载 Nginx 源码包
Nginx 主要提供两个版本,分别为:Mainline version 与 Stable version,前面是主线版本,有新的特性会在此版本中体现,但是 BUG 的出现的可能性也会比 稳定版本高,故以下使用写这篇博客下最新的稳定版作为演示。
由红框中指出的是 Linux 下,应该下载的源码包,获取它的下载链接。
然后在服务器上先进入系统的源代码存放处,在下载源码包,解压并进入:
1 |
|
安装依赖包
- 安装编译环境
1 |
|
- 如果要使用 rewrite、ssl 与 gzip 功能,则需要 pcre、openssl、zlib 依赖包
1 |
|
编译
1 |
|
命令解释
配置选项 | 功能 |
---|---|
-prefix | 指定安装路径 |
–with-http_ssl_module | 支持 HTTPS 协议 |
–with-http_v2_module | 支持 HTTP/2 |
–with-http_realip_module | 从指定请求头获取客户端 IP 地址 |
执行完上面的命令后,可以开始进行正式的编译了
1 |
|
如果你的服务器配置较高,可以使用多线程编译 在 make 后添加 -j3 参数
1 |
|
添加环境变量
如果使用 bash shell,则使用以下命令:
1 |
|
如果使用 zsh shell,则使用:
1 |
|
添加守护
使用 vim 在 /etc/systemd/system/ 文件夹下,添加 nginx.service。vim /etc/systemd/system/nginx.service
然后将如下所示的内容复制粘贴到该文件中并保存(vim 编辑器先按 ESC 再输入 :wq
):
1 |
|
运行以下命令,将 systemd 重新读取新的配置内容
1 |
|
以下命令,都是用来管理 Nginx 服务的:
随系统启动服务
1 |
|
启动 Nginx
1 |
|
停止 Nginx
1 |
|
重载 Nginx
1 |
|
查考文献
[1] OSFERE. (2022.2.2). 如何在 CentOS 上编译安装及配置最新版 Nginx. Tech Trends. Retrieved from https://osfere.com/linux/how-to-build-install-and-configure-latest-nginx-on-centos