- 下载nginx,nginx-1.20.2.tar.gz,放在指定目录,如;/usr/local/src
- 解压到指定目录,如:/usr/local/nginx
tar -zxvf nginx-1.20.2.tar.gz -C /usr/local/nginx/
- 编译,--prefix选项指定了Nginx的安装目录,可以根据需要修改。其他的选项是启用了一些Nginx的模块。
./configure --prefix=/usr/local/nginx --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
出现
- 缺少PCRE库,安装
yum install -y pcre pcre-devel
安装PCRE库前要安装C++ 的环境,若没有
yum install gcc-c++
-
安装zlib库。zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
出现安装错误:
指定安装版本
yum install zlib-1.2.11-17.el8
- 安装openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
出现安装错误:
由于系统中存在两个不同版本的 openssl-libs 包,并且它们之间存在冲突。
查看
rpm -qa | grep openssl-libs
指定安装版本
yum install openssl-libs-1:1.1.1k-5.el8_5.x86_64
再运行安装openssl
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
再编译
-
安装make && make install
回到安装目录
-
启动。进入sbin目录,执行./nginx
-
查看
- 创建自启文件,vim /etc/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 stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载,systemctl daemon-reload
-
启动systemctl start nginx,查看systemctl status nginx
- 检测
curl 127.0.0.1
-
设置开机启动systemctl enable nginx
- 查看所有已启动的服务
systemctl list-units --type=service