CentOS版本:CentOS 7
Nginx版本:1.24.0
两种安装方式:
一、通过 yum 安装,最简单,一键安装,全程无忧。
二、通过编译源码包安装,需具备配置相关操作。
最后附+:设置 Nginx 服务开机启动
一、通过 yum 安装
需要 root 权限,普通用户使用 sudo 进行命令操作
安装参考信息:https://nginx.org/en/linux_packages.html#RHEL
![](https://i-blog.csdnimg.cn/direct/ef5c2f8c730a4edb8f8ea34ac66fd8fb.png)
1、安装依赖
sudo yum install yum-utils
![](https://i-blog.csdnimg.cn/direct/9f6efd265a614b7aab849a4544ab152a.png)
![](https://i-blog.csdnimg.cn/direct/ac5835ccf50a46dd800238a0c5ab81a5.png)
2、创建仓库文件
在 /etc/yum.repos.d 目录下创建仓库文件nginx.repo,并在文件中添加以下内容:
sudo vim /etc/yum.repos.d/nginx.repo
![](https://i-blog.csdnimg.cn/direct/b156c69b676449fb956c8f8319ee2783.png)
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
3、安装 Nginx
默认情况下,安装 Stable version当前稳定版本
【sudo yum-config-manager --enable nginx-mainline 不会设置,暂时不会安装指定版本】
![](https://i-blog.csdnimg.cn/direct/80dbb75ae52a49a4aed6a8f1be3f2676.png)
sudo yum install nginx
![](https://i-blog.csdnimg.cn/direct/6df3316fbe174931a94faae99b52608c.png)
![](https://i-blog.csdnimg.cn/direct/a336d2a9ccdb48739f17b4293d737ebd.png)
![](https://i-blog.csdnimg.cn/direct/cbe6868bb44f45409aa66d7bc924c5ce.png)
查看 nginx 安装目录
whereis nginx
![](https://i-blog.csdnimg.cn/direct/e5dc8c7c4da64a76b47e5bac211a537f.png)
/usr/sbin 目录存放 nginx 启动程序
/etc/nginx 目录存放 nginx 配置文件
/usr/share/html 目录存放网站项目文件
4、开放端口 80
检查端口是否开放
sudo firewall-cmd --zone=public --query-port=80/tcp
开放端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
重新加载
sudo firewall-cmd --reload
再检查端口是否开放
sudo firewall-cmd --zone=public --query-port=80/tcp
![](https://i-blog.csdnimg.cn/direct/4f92bb6f581143ccb8e7da90a5192f97.png)
5、启动 Nginx
sudo nginx
![](https://i-blog.csdnimg.cn/direct/453a9c5227b6483f975cce5df2ae238b.png)
6、验证 Nginx
在远程终端,打开浏览器,输入ip,回车
![](https://i-blog.csdnimg.cn/direct/5f4594dab1eb47429dbff319e133f07b.png)
二、通过编译源码包安装
需要 root 权限,使用 root 用户进行命令操作
编译源码包:.tar.gz 或 .tar 包文件
1、下载 Nginx
在远程终端计算机上,打开Nginx官网:https://nginx.org/,下载文件
![](https://i-blog.csdnimg.cn/direct/d680311646b24dd69e6935a1fe44c960.png)
![](https://i-blog.csdnimg.cn/direct/847e7274004e40da9b16534e7b73d190.png)
2、上传 Nginx 文件到 CentOS
使用FinalShell远程登录工具,并且使用 root 用户连接登录(注意这里说的root用户连接登录是指这样的)
![](https://i-blog.csdnimg.cn/direct/a6afb6b815144009883ef39ea414d2d0.png)
也可以使用 wget 命令直接下载到 CentOS,前提需要安装好 wget
获取下载地址:https://nginx.org/download/nginx-1.26.2.tar.gz
![](https://i-blog.csdnimg.cn/direct/ab24a67d18cd49f5b650f7e967568026.png)
wget https://nginx.org/download/nginx-1.26.2.tar.gz
![](https://i-blog.csdnimg.cn/direct/2e134adf5d8744188067189c98118ef7.png)
3、解压 Nginx
创建目录/export/server
mkdir -p /export/server
![](https://i-blog.csdnimg.cn/direct/6f0b1fb996b44f108c8ed3395bb61b7a.png)
解压到目录/export/server
.tar.gz 格式的为打包压缩,使用 tar -zxvf,解压后是一个与文件名同名的目录。
.tar 格式的为打包不压缩,使用 tar -xvf,解压后是相关的文件,不是目录。
tar -zxvf nginx-1.24.0.tar.gz -C /export/server
![](https://i-blog.csdnimg.cn/direct/770d0b21505b48c88f03022bea54f6e0.png)
查看解压后情况
ls -l /export/server
4、安装编译环境和依赖
安装 gcc-c++ 编译器
因为 nginx 是使用C语言开发的,所以需要安装相关的编译环境来对其进行编译安装
yum -y install gcc-c++
![](https://i-blog.csdnimg.cn/direct/c06937763b724fbd986058766b2208a6.png)
yum install -y openssl openssl-devel
![](https://i-blog.csdnimg.cn/direct/16eb9f50d99c42f68aed789760209fde.png)
![](https://i-blog.csdnimg.cn/direct/df3c11eca3ed4bc8a8e32e5917c3ee22.png)
安装 pcre
PCRE(Perl Compatible Regular Expressions)是一个用C语言编写的正则表达式函数库,nginx 对其有依赖
yum install -y pcre pcre-devel
![](https://i-blog.csdnimg.cn/direct/11c622db70524ef99249226d2373c7fc.png)
安装 zlib
zlib 是一个提供数据压缩的函数库,nginx 对其有依赖
yum install -y zlib zlib-devel
![](https://i-blog.csdnimg.cn/direct/8826eb43a3e549a48f7295deb960a51d.png)
5、安装 Nginx
进入到解压后的 nginx 目录下/export/server/nginx-1.24.0
cd /export/server/nginx-1.24.0
![](https://i-blog.csdnimg.cn/direct/0c43e4f3dc784395866348e50905be2e.png)
查看目录内容
ls -l
![](https://i-blog.csdnimg.cn/direct/3f69b777d5fd4bdc999adefaabbad9f7.png)
配置安装目录,将安装到/export/server/nginx 这个目录下
./configure --prefix=/export/server/nginx
![](https://i-blog.csdnimg.cn/direct/522a0006af2f4c42bb29987e8fe8b66a.png)
执行 make 和 make install 命令进行编译安装
编译
make
![](https://i-blog.csdnimg.cn/direct/627ad2b967ab41a3a88517f6b97149f0.png)
安装
make install
![](https://i-blog.csdnimg.cn/direct/74e654e1c13b43ddb6a012b152f18ea6.png)
查看安装后的情况,目录/export/server 中多了 nginx 目录
ls -l /export/server
![](https://i-blog.csdnimg.cn/direct/18e934223a7b4790915a38c766180a37.png)
查看目录 /export/server/nginx 的内容
ls -l /export/server/nginx
![](https://i-blog.csdnimg.cn/direct/2b0b962d2fff467a8147a812e5dffd09.png)
6、开放端口 80
检查端口是否开放
firewall-cmd --zone=public --query-port=80/tcp
开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
重新加载
firewall-cmd --reload
再检查端口是否开放
firewall-cmd --zone=public --query-port=80/tcp
![](https://i-blog.csdnimg.cn/direct/c52e51967e2d48cc9051789fac7a09dd.png)
7、启动 Nginx
进入到 nginx 安装目录下的 sbin,即是目录 /export/server/nginx/sbin,查看目录内容
cd /export/server/nginx/sbin
ls -l
![](https://i-blog.csdnimg.cn/direct/22bf78cedcc04de88a6e62bd20a06f5b.png)
启动 nginx
./nginx
![](https://i-blog.csdnimg.cn/direct/30d8665b2a92420a8c6b3e11b5dce225.png)
查看 nginx 相关的进程
ps -ef | grep nginx
![](https://i-blog.csdnimg.cn/direct/f2478371759e4c38a36b65e36a160fc7.png)
8、验证 Nginx
在其他终端,打开浏览器,输入ip,回车
![](https://i-blog.csdnimg.cn/direct/37d0456244354771984e539bcfbf9e1f.png)
9、删除编译源码包和安装解压目录
删除编译源码包 nginx-1.24.0.tar.gz
rm /root/nginx-1.24.0.tar.gz
![](https://i-blog.csdnimg.cn/direct/2847e2f0165c4867a2d1fb05e581cbb6.png)
删除安装解压目录 /export/server/nginx-1.24.0
rm -rf /export/server/nginx-1.24.0
![](https://i-blog.csdnimg.cn/direct/fb98113b02cd40959d51073c2b21aa32.png)
附+:设置 Nginx 服务开机启动
需要 root 权限,使用 root 用户进行命令操作
原理:利用 systemctl 管理服务
1、新建服务
在/usr/lib/systemd/system 目录下,新建 nginx.service 文件,配置内容
vim /usr/lib/systemd/system/nginx.service
![](https://i-blog.csdnimg.cn/direct/8bf06216205d4abb8dd48a4a19adfcb5.png)
配置内容如下:
[Unit]
Description=Nginx Server
After=nginx.service
[Service]
User=root
Group=root
Type=forking
ExecStart=/export/server/nginx/sbin/nginx -c /export/server/nginx/conf/nginx.conf
ExecStop=/export/server/nginx/sbin/nginx -s quit
ExecReload=/export/server/nginx/sbin/nginx -s reload
Restart=on-failure
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2、重新加载systemctl
systemctl daemon-reload
![](https://i-blog.csdnimg.cn/direct/ce687cb5d77a43e7936ab3326bd786ff.png)
3、启动Nginx
systemctl start nginx.service;ps -ef | grep nginx
![](https://i-blog.csdnimg.cn/direct/78f40fc7acd348dfa8a1deff55eaa641.png)
4、设置 Nginx 开机启动
设置开机启动
systemctl enable nginx.service
查看设置情况
systemctl is-enabled nginx
![](https://i-blog.csdnimg.cn/direct/7ea0bb51ed304ed8a4a7d0b57dd492ec.png)
5、重启计算机
reboot
![](https://i-blog.csdnimg.cn/direct/22a2b1a1b05448309c4a7f67ffefddf9.png)
6、验证Nginx 开机启动
systemctl status nginx.service;ps -ef | grep nginx
![](https://i-blog.csdnimg.cn/direct/00e322a37bb248259fc7c202ea83ce03.png)
附+:Nginx 的其他命令
1、取消 Nginx 开机启动
systemctl disable nginx.service
2、重启 Nginx
当前 Nginx 运行或停止状态都可以 restart
systemctl restart nginx.service
只能在当前 Nginx 运行状态 reload
systemctl reload nginx.service
3、停止 Nginx
systemctl stop nginx.service