本文记录了如何在 CentOS 7 中编译安装 nginx。
安装前准备
对于编译安装nginx,需要先安装编译工具,再安装nginx所需的依赖。
yum -y install gcc gcc-c++ autoconf automake make
yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
添加 nginx 用户
我们需要添加运行 nginx 所使用的用户。
groupadd -f nginx
useradd -g nginx nginx
下载nginx源码
nginx官网提供了所有版本的nginx下载。在下载页面可以找到目前推荐下载版本。
2020年8月1日的最新版本为1.19.1,稳定版本为1.18.0。这里我们选择下载稳定版本进行安装。
# 切换到src目录
cd /usr/local/src
# 下载稳定版本
wget http://nginx.org/download/nginx-1.18.0.tar.gz
# 解压
tar xf nginx-1.18.0.tar.gz
配置并安装
# 进入解压后的目录
cd nginx-1.18.0
我们需要对nginx进行配置,即调用./configure
。推荐添加的参数如下:
--prefix=
用于指定安装目录。本教程将选择--prefix=/usr/local/nginx
--user=
用于指定用户。本教程将使用nginx
--group=
用于指定用户组。本教程将使用nginx
--with-http_stub_status_module
将启用状态监测。--with-http_ssl_module
将启用ssl模块,用于支持https访问。--with-http_v2_module
将启用http_v2模块,用于支持http/2协议。--with-http_realip_module
将启动http_realip模块,一般用于反向代理,修改客户端请求头中的IP值。
# 配置
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_realip_module
出现如下信息则代表可以进行编译安装了:
# 编译安装
make & make install
如果是升级nginx,则只需要make
,并将objs/nginx
复制为/usr/local/nginx/sbin/nginx
。
安装完成后,打开浏览器输入127.0.0.1
,如果看到页面,则表明成功。
nginx 服务配置
我们可以通过以下命令来操作nginx服务器:
# 启动 nginx
/usr/local/nginx/sbin/nginx
# 停止 nginx
/usr/local/nginx/sbin/nginx -s stop
# 重启 nginx
/usr/local/nginx/sbin/nginx -s reload
这种方式每次需要输入较多字符才能进行操作。如果我们想要nginx开机启动,我们需要进行以下配置:
# 新建 nginx 服务
vi /lib/systemd/system/nginx.service
输入以下内容并保存:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机启动
systemctl enable nginx
服务启动/停止/重启
# 启动
systemctl start nginx
# 停止
systemctl stop nginx
# 重启
systemctl restart nginx
查看服务状态
systemctl status nginx
本文如无特殊说明,版权归鬼斩所有。
本文链接:https://ybw0014.net/post/centos7-nginx
本站采用 知识共享许可协议 4.0 未本地化版本 对文章进行保护,转载时遵守此协议。