N

Nginx的安装和卸载

HB 网络电脑 2020-08-25

安装 nginx

1,安装一些依赖包

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

2,下载 Nginx 安装包

yum install wget && wget https://nginx.org/download/nginx-1.9.9.tar.gz

3,解压缩包

tar -zxvf nginx-1.9.9.tar.gz nginx

4,将文件移到/usr/local/目录下

mv  nginx /usr/local/

5,配置编译环境

先进入到nginx目录中

cd  /usr/local/nginx/

找到有一个configure的可执行文件

./configure

6.编译安装

make &&  make install

7.看下目录结构

tree  nginx

上图中我们用到的一个指令 tree,该指令可以将我们指定的目录以树状结构展示出来。如果没有这个指令,可以通过以下指令进行安装。

yum install tree

重点目录和文件如下:

目录/文件 说明 备注
conf 配置文件的存放目录
conf/nginx.conf Nginx的核心配置文件 conf下有很多nginx的配置文件,我们主要操作这个核心配置文件
html 存放静态资源(html, css, ) 部署到Nginx的静态资源都可以放在html目录中
logs 存放nginx日志(访问日志、错误日志等)
sbin/nginx 二进制文件,用于启动、停止Nginx服务

至此 Nginx 安装完毕。

卸载 nginx

1,先看下nginx是否在运行中

ps  aux|grep nginx

2,如果在运行中,则停止

nginx -s stop

或者直接杀死进程 pkill nginx 或 kill -9 进程号

3,找到所有nginx有关文件

find  / -name nginx

4,删除有关nginx的文件(linux中一切都文件)

命令1:

rm -rf file /usr/local/nginx*

命令2:

find / -name nginx*

5,卸载nginx的有关依赖

yum  remove  nginx

常用命令

Nginx中,我们的二进制可执行文件(nginx)存放在sbin目录下,虽然只有一个可执行文件,但是我们可以通过该指令配合不同的参数达到更加强大的功能。接下来,我们就演示一下Nginx常见指令, 在执行下面的指令时,都需要在/usr/local/nginx/sbin/目录下执行。

1.查看版本

nginx -v

2.检查配置文件

修改了nginx.conf核心配置文件之后,在启动Nginx服务之前,可以先检查一下conf/nginx.conf文件配置的是否有错误,命令如下:

nginx  -t

3.启动服务

nginx

启动之后,我们可以通过ps -ef指令来查看 nginx 的进程是否存在。

注意: nginx服务启动后,默认就会有两个进程。

注意:要想正常访问 Nginx 需要关闭防火墙或开放指定端口号,执行的指令如下:

关闭防火墙

systemctl stop firewalld

开放80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --reload

4.停止 nginx

nginx -s  stop

再次看下进程:

ps aux|grep  nginx

5.重新加载 nginx

当修改了Nginx配置文件后,需要重新加载才能生效,可以使用下面命令重新加载配置文件:

nginx -s  reload

设置环境变量

在上述我们在使用nginx命令在进行服务的启动、停止、重新加载时,都需要用到一个指令nginx,而这个指令是在nginx/sbin目录下的,我们每一次使用这个指令都需要切换到sbin目录才可以,使用相对繁琐。那么我们能不能在任意目录下都可以执行该指令来操作nginx呢?答案是可以的,配置nginx的环境变量即可。

通过vim编辑器,打开/etc/profile文件, 在PATH环境变量中增加nginx的sbin目录,如下:

修改完配置文件之后,需要执行 source /etc/profile 使文件生效。 接下来,我们就可以在任意目录下执行nginx的指令了,如:

通过systemctl方法来启动nginx(可以设置开机自启动)

首先我们需要了解下centos系统中的systemd的unit文件配置。

参考: https://www.cnblogs.com/linuxprobe/p/15690895.html

然后,通过自己创建一个nginx.service来实现通过systemctl命令启动nginx。

1.创建nginx.service

cd /lib/systemd/system/
touch  nginx.service
vim  nginx.service

2.配置unit文件

[Unit]
Description=nginx
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStartpre=/usr/local/nginx/sbin/nginx -c  t  /usr/local/nginx/conf/nginx.conf
ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true 
[Install] 
WantedBy=multi-user.target

[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStartpre是检查配置文件
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

3.重新加载配置文件

systemctl daemon-reload

4.nginx服务常用操作

# 查看nginx服务状态
systemctl status nginx.service
# 启动nginx服务
systemctl start nginx.service
# 停止nginx服务
systemctl stop nginx.service
# 重启nginx服务
systemctl restart nginx.service
# 重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效)
systemctl reload nginx.service

5.可设置开机自启动

加入开机自启动

systemctl enable nginx

如果不想开机自启动了,可以使用下面的命令取消开机自启动

systemctl disable nginx

相关文章:docker安装nginx及挂载配置文件

PREV
Docker启动失败Failed to start Docker Application Container Engine.
NEXT
卸载V2ray

评论(0)

发布评论