一、安装依赖
- gcc 编译时依赖 gcc 环境
- pcre 提供 nginx 支持重写功能
- zlib 压缩 / 解压工具
- openssl 安全套接字层密码库,通信加密
# gcc
yum -y install gcc gcc-c++ autoconf automake make
# pcre
yum -y install pcre pcre-devel
# zlib
yum -y install zlib zlib-devel make libtool
# openssl
yum -y install openssl openssl-devel
二、安装 nginx
先创建一个用户和用户组
groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M
下载 nginx 源码包,两种方式任选其一 (注意版本号)
- 本地下载然后上传到 Linux 服务器上, 官网下载地址
- 使用命令下载
wget https://nginx.org/download/nginx-1.25.0.tar.gz
解压源码
tar -zxvf nginx-1.25.0.tar.gz
编辑目录
cd nginx-1.25.0
# 检查安装环境
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx
参数说明:
参数 |
说明 |
–prefix=/usr/local/nginx |
编译安装目录 |
–user=nginx |
所属用户nginx |
–group=nginx |
所属组nginx |
–with-http_stub_status_module |
该模块提供nginx的基本状态信息 |
–with-http_ssl_module |
支持HTTPS |
编译源码并安装
# 编译
make
# 安装
make install
三、操作 nginx
# 启动服务
/usr/local/nginx/sbin/nginx
# 重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload
# 强制停止
nginx:nginx -s stop
# 安全退出
nginx:nginx -s quit
# 查看进程
ps -ef|grep nginx
# 测试
curl 127.0.0.1
![image.png](https://cdn.nlark.com/yuque/0/2023/png/33606456/1686123870991-b6946486-dfd0-4bb8-a79e-9e4b0d6cc993.png#averageHue=%23050302&clientId=u11f27acd-0cfd-4&from=paste&height=151&id=u24f18656&originHeight=136&originWidth=831&originalType=binary&ratio=0.8999999761581421&rotation=0&showTitle=false&size=23154&status=done&style=none&taskId=ue1f425ca-4833-4307-8af3-d8c3c29607d&title=&width=923.3333577933141)
![image.png](https://cdn.nlark.com/yuque/0/2023/png/33606456/1686123938832-91895c13-553b-4f07-8765-3a6692b43578.png#averageHue=%23040302&clientId=u11f27acd-0cfd-4&from=paste&height=493&id=u7b0d1dc0&originHeight=414&originWidth=626&originalType=binary&ratio=0.8999999761581421&rotation=0&showTitle=false&size=60557&status=done&style=none&taskId=u77860766-3d62-4e7f-9429-3f57a6dbfe7&title=&width=745.5556030273438)
四、创建服务
# 编写配置文件
vi /usr/lib/systemd/system/nginx.service
# 写入这些信息
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
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.service
systemctl strat nginx.service
systemctl status nginx.service
![image.png](https://cdn.nlark.com/yuque/0/2023/png/33606456/1686126431340-cb349989-1e10-452f-b64f-10dda34d68e2.png#averageHue=%23060402&clientId=u11f27acd-0cfd-4&from=paste&height=233&id=ub96d10f4&originHeight=312&originWidth=962&originalType=binary&ratio=0.8999999761581421&rotation=0&showTitle=false&size=74991&status=done&style=none&taskId=u30a1a356-78d3-403b-ad83-7e6f28e3c2f&title=&width=717.7604370117188)