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