Centos在线、离线安装Nginx

转载至: www.cnblogs.com/chenwolong/...

在CentOS 7中安装Nginx。

当使用以下命令安装Nginx时,发现无法安装成功。

[如果出现没有可用软件包]需要做一点处理。

安装Nginx源

执行以下命令:

bash 复制代码
rpm -ivh http:<span>//</span><span>nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm</span>

安装该rpm后,我们就能在/etc/yum.repos.d/ 目录中看到一个名为nginx.repo 的文件。

安装Nginx

安装完Nginx源后,就可以正式安装Nginx了。

Nginx默认目录

输入命令:

即可看到类似于如下的内容:

bash 复制代码
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx

以下是Nginx的默认路径:

(1) Nginx配置路径:/etc/nginx/

(2) PID目录:/var/run/nginx.pid

(3) 错误日志:/var/log/nginx/error.log

(4) 访问日志:/var/log/nginx/access.log

(5) 默认站点目录:/usr/share/nginx/html

事实上,只需知道Nginx配置路径,其他路径均可在/etc/nginx/nginx.conf 以及/etc/nginx/conf.d/default.conf 中查询到。

2、通过压缩包进行安装

1、下载安装包 nginx.org/en/download...

右键,复制链接地址,在liunx中使用 wget获取【我是在 root 根目录下执行的下载,他会下载到root目录下】

2、解压缩【我将压缩文件剪贴到了 /root/share/nginx目录下】

css 复制代码
<span>[root@localhost share]# mkdir nginx
[root@localhost share]# mv </span>/root/nginx-<span>1.20</span>.<span>2</span><span>.tar.gz nginx
[root@localhost share]# ls
app  centos  nginx  webapp
[root@localhost share]# ls nginx
nginx</span>-<span>1.20</span>.<span>2</span><span>.tar.gz
[root@localhost share]# cd nginx
[root@localhost nginx]# tar </span>-zxf nginx-<span>1.20</span>.<span>2</span><span>.tar.gz
[root@localhost nginx]# ls
nginx</span>-<span>1.20</span>.<span>2</span>  nginx-<span>1.20</span>.<span>2</span>.tar.gz

3、进入箭头所指的文件夹

4、通过 ./configure 进行nginx配置

javascript 复制代码
./configure --prefix=/usr/share/nginx&nbsp; --sbin-path=/usr/sbin/nginx&nbsp; --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log&nbsp; --http-log-path=/var/log/nginx/access.log&nbsp; --pid-path=/run/nginx.pid&nbsp; --lock-path=/run/lock/subsys/nginx&nbsp; --user=nginx --group=nginx&nbsp;&nbsp;

按下enter键,执行

5、编译 并 安装 【一次执行两个指令】

如果出现上述问题,说明缺少依赖,安装依赖

执行

yum -y install gcc openssl openssl-devel pcre-deve

再次执行 ./configure 进行基本配置

javascript 复制代码
./configure --prefix=/usr/share/nginx&nbsp; --sbin-path=/usr/sbin/nginx&nbsp; --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log&nbsp; --http-log-path=/var/log/nginx/access.log&nbsp; --pid-path=/run/nginx.pid&nbsp; --lock-path=/run/lock/subsys/nginx&nbsp; --user=nginx --group=nginx&nbsp;&nbsp;

再次编译 并 安装 【一次执行两个指令】,本次就不会报错了

这样压缩包安装就OK了,在这里建议使用压缩包安装,因为yum安装找不到 ./configure 目录,那么我们无法添加 ssl 和 stream 支持。

Nginx 常用命令

(1) 启动:

(2) 测试Nginx配置是否正确:

(3) 优雅重启:

安装Nginx后的注意事项:

Nginx默认使用80端口,因为Linux有防火墙,因此,我们需要查看 80 端口是否开启,如果没有开启,需要开启

1、查看开放的端口信息

2、开启 80 端口

css 复制代码
sudo firewall-cmd --add-port=<span>80</span>/tcp --permanent

3、重启防火墙,使增加的端口生效

4、查看nginx的相关路径信息

我们要想执行Nginx命令,就必须进入 红圈 内的路径,这个路径不同的操作系统可能不一致

5、查看Nginx 的版本信息

less 复制代码
[root@localhost sbin]# cd /usr/<span>sbin
[root@localhost sbin]# .</span>/nginx -<span>v
nginx version: nginx</span>/<span>1.20</span>.<span>1</span>

6、修改Nginx配置,因为我的linux 80 端口被占用,因此,我需要使用其他端口

Nginx 的配置文件放在了这个目录下

修改配置文件,80 改成 8001

7、防火墙开通 8001 端口 并重启防火墙

8、重启、停止、开启Nginx 相关指令

css 复制代码
[root@localhost nginx]# cd /usr/<span>sbin
[root@localhost sbin]# .</span>/<span>nginx                 --启动Nginx
[root@localhost sbin]# .</span>/nginx -<span>s stop         --关闭Ngix
[root@localhost sbin]# .</span>/<span>nginx
[root@localhost sbin]# .</span>/nginx -s reload    --重加载Nginx  [修改配置文件后,必须执行,否则不生效]

9、访问 8001 端口 我的: http://192.168.136.135:8001/

怎么变成了 welcome to centos 了?这其实是nginx的欢迎页面(每个版本的nginx各不相同),这并不代表nginx没有正常启动, 我们可以查看 /usr/share/nginx/html目录下的index.html 的内容,判断Nginx是否正确启动

OK,截止到这儿,Nginx安装、启动成功

^设置Nginx服务自启动【前提是你的nginx 已经启动,80端口可访问】^

1、在 /lib/systemd/system 目录添加 nginx.service 文件

bash 复制代码
<span>#进入自启文件目录
cd </span>/lib/systemd/<span>system 
#自定义nginx自启文件
touch nginx.service</span>

2、编辑nginx.service

3、添加一下内容, Restart=always 【如果是手动安装,直接复制粘贴,并按照下面的步骤一步步执行】

xml 复制代码
<span>[Unit]
Description</span>=<span>The nginx HTTP and reverse proxy server
After</span>=network-online.target remote-fs.target nss-<span>lookup.target
Wants</span>=network-<span>online.target

[Service]
Type</span>=<span>forking
PIDFile</span>=/run/<span>nginx.pid
# Nginx will fail to start </span><span>if</span> /run/<span>nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx </span>-t` <span>from</span><span> the cmdline.
# https:</span><span>//</span><span>bugzilla.redhat.com/show_bug.cgi?id=1268621</span>
ExecStartPre=/usr/bin/rm -f /run/<span>nginx.pid
ExecStartPre</span>=/usr/sbin/nginx -<span>t
ExecStart</span>=/usr/sbin/<span>nginx
ExecReload</span>=/usr/sbin/nginx -<span>s reload
KillSignal</span>=<span>SIGQUIT
TimeoutStopSec</span>=<span>5</span><span>
KillMode</span>=<span>process
PrivateTmp</span>=<span>true</span><span>
Restart</span>=<span>always

[Install]
WantedBy</span>=multi-user.target

4、设置开机自启

bash 复制代码
<span># 设置开机启动
systemctl enable nginx</span>

5、其它命令

bash 复制代码
<span># 启动 nginx
systemctl start nginx
# 停止
systemctl stop nginx
# 加载配置文件
systemctl reload nginx</span>

6、关闭虚拟机

7、开机,输入 whereis nginx ,测试是否设置成功

设置成功,over

@天才卧龙的波尔克

相关推荐
码农派大星。10 分钟前
Spring Boot 配置文件
java·spring boot·后端
杜杜的man1 小时前
【go从零单排】go中的结构体struct和method
开发语言·后端·golang
幼儿园老大*1 小时前
走进 Go 语言基础语法
开发语言·后端·学习·golang·go
llllinuuu1 小时前
Go语言结构体、方法与接口
开发语言·后端·golang
cookies_s_s1 小时前
Golang--协程和管道
开发语言·后端·golang
为什么这亚子1 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
想进大厂的小王1 小时前
项目架构介绍以及Spring cloud、redis、mq 等组件的基本认识
redis·分布式·后端·spring cloud·微服务·架构
customer082 小时前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
2402_857589362 小时前
SpringBoot框架:作业管理技术新解
java·spring boot·后端
一只爱打拳的程序猿2 小时前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring