日常问题处理
Centos源码安装Nginx
0. 现象与原因
0.1 使用yum install -y nginx就可以安装Nginx,为什么需要源码安装呢?
原因可能包含以下:
- 定制化的功能
- 编译完成后的软件性能可能会好一些
- 安装过程中拥有更多的修改配置
- 适用多平台
- 应用最新的安全补丁
0.2 自己为什么会选择Nginx源码编译安装
熟悉Niginx源码编译,了解Nginx,仅此而已
总结一句话:nginx源码安装真的不如Package包安装,它不香嘛
1. 选择Nginx版本
下载地址:download
这里选择的是:Stable 1.20.1
- Mainline版本:包括最新的特性和bug修复。 虽然可靠的,但它可能包含一些实验性模块,可能会有一些新的bug
- Stable版本:不包括最新的特性,但拥有关键的bug修复 。推荐生产服务器使用稳定版本
- 下图是Mainline版本和Stable版本的演进图
- Stable版本是从Mainline版本Fork出来的,Stable分支中不会频繁提交Commit修改,只会引入关键严重的Bug修复
2. 安装依赖的库文件
将相关的软件放置在同一个目录下,比如:/opt
2.1 PCRE
支持正则表达式,被Nginx Core和Rewrite模块需要
cd /opt
# 官网地址:https://ftp.pcre.org/pub/pcre/
wget https://ftp.pcre.org/pub/pcre/pcre-8.45.tar.gz
tar -zxf pcre-8.45.tar.gz
cd pcre-8.45/
./configure
make
make install
如果报错:
no acceptable C compiler found in $PATH
则考虑是否安装了C编译工具
2.1.1 安装GCC c 和 c++
- 查看groups信息
yum group list
- Development Tools安装
- yum group install "Development Tools"
- 验证gcc
- gcc -version
2.2 zlib
支持header压缩。NGINX的Gzip模块需要
cd /opt
wget http://zlib.net/zlib-1.2.11.tar.gz
tar -zxf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install
2.3 OpenSSL
支持HTTPS协议。 NGINX SSL模块和其他模块需要
cd /opt
wget http://www.openssl.org/source/openssl-1.1.1g.tar.gz
tar -zxf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./Configure linux-x86_64 --prefix=/usr
make
make install
3. 安装Nginx
3.1 将下载好的nginx放到/opt目录
cd /opt
# 或者wget下载
# wget https://nginx.org/download/nginx-1.21.3.tar.gz
3.2 安装
tar -zxf nginx-1.21.3.tar.gz
cd nginx-1.21.3/
./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre=../pcre-8.45 --with-zlib=../zlib-1.2.11 --with-http_ssl_module --with-stream --with-mail
make
make install
4. 配置防火墙
firewall-cmd --list-all
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all
5. 验证Nginx
5.1 启动
一定要注意$PATH路径,否则需要写Nginx绝对路径进行启动
nginx
5.2 验证
浏览器输入对应的IP地址访问
本文暂时没有评论,来添加一个吧(●'◡'●)