Linux手动安装Nginx(基于Centos 7)
一、nginx源码安装
1.官网下载
nginx官网:nginx: download
我选择的源码包是nginx-1.20.2.tar.gz
pcre官网:PCRE download | SourceForge.net
我选择的源码包是pcre-8.37.tar.gz
MobaXterm上传源码包并查看是否上传成功
2.源码包下载
pcre源码包下载:
wget http://sourceforge.net/projects/pcre/files/pcre/8.37/pcre-8.37.tar.gz -P /usr/src
nginx源码包下载:
wget http://nginx.org/download/nginx-1.20.2.tar.gz -P /usr/src
查看源码包是否下载
ls -l /usr/src
二、nginx安装
1.安装nginx依赖包
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel
包名 | 对 Nginx 的作用 |
---|---|
make | 执行编译过程的构建工具 |
zlib/zlib-devel | 提供 gzip 压缩功能支持 |
gcc-c++ | 提供 C/C++ 编译环境 |
libtool | 帮助管理库文件的生成 |
openssl | 提供 HTTPS/SSL 支持的基础加密功能 |
pcre-devel | 提供正则表达式支持(用于 location 匹配等 |
PS:若没有安装上述nginx依赖包,在后续执行./configure此处容易出现问题
报checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/opt/module/pcre-8.37':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details错误
2.解压源码包
1、创建并进入放置解压源码包的位置
cd /opt
mkdir module
cd module/
2、解压pcre源码包
tar -zxvf "/root/pcre-8.37.tar.gz"
3、解压nginx源码包
tar -zxvf "/root/nginx-1.20.2.tar.gz"
PS: 配置目的:
1)检查环境 是否 满足安装条件 依赖解决
2)指定安装方式 配置文件 命令文件 各种文件放哪里 开启模块功能【内置模块 三方模块】
3)指定软件安装在那里
3.配置pcre源码包编译选项
1、进入源码包
cd pcre-8.37/
2、配置pcre源码包
./configure
4.编译安装pcre
make && make install
5.配置nginx源码包编译选项
1、进入源码包
cd nginx-1.20.2/
2、配置nginx源码包
./configure --prefix=/usr/local/nginx
6.编译安装nginx
1、编译nginx
make
2、安装nginx
make install
7. 配置系统集成
1、永久配置环境变量
方法一:修改用户级配置(推荐)
# 编辑当前用户的 ~/.bashrc 文件
vim ~/.bashrc
# 在文件末尾添加:export PATH=$PATH:/usr/local/nginx/sbin
# 使配置生效
source ~/.bashrc
方法二:修改系统级配置(所有用户生效)
# 编辑 /etc/profile 文件
vim /etc/profile
# 在文件末尾添加:
export PATH=$PATH:/usr/local/nginx/sbin
# 使配置生效
source /etc/profile
2、创建符号链接(替代方案)
如果不想修改环境变量,可直接创建软链接到系统路径:
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
验证:
which nginx # 应显示:/usr/local/bin/nginx
3、验证配置
# 检查环境变量
echo $PATH | grep nginx
# 测试命令
nginx -t # 测试配置文件
nginx -v # 显示版本
nginx -V # 显示编译参数
8.配置系统服务
PS: 此处容易出现的问题:
报-bash:vim:未找到命令错误
解决办法:
下载工具
yum -y install vim
1、创建 systemd 服务文件
vim /etc/systemd/system/nginx.service
添加以下内容:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true[Install]
WantedBy=multi-user.target
2、启用并启动 Nginx 服务
systemctl daemon-reload
systemctl enable nginx
systemctl start nginx
3、验证安装
systemctl status nginx
curl -I localhost
#查看进程
ps -ef|grep nginx
#查看端口
netstat -tulnp |grep nginx
PS:此处容易出现问题
报-bash: netstat: 未找到命令错误
解决办法:
#安装工具
yum -y install net-tools