Nginx的安装和卸载

一.安装(centos)

1,安装一些依赖包,因为nginx是通过C语言来写成的:

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

2,下载Nginx安装包

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

3,解压缩包

tar -zxvf nginx-1.16.1.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中,我们的二进制可执行文件(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,需要关闭防火墙或开放指定端口号,执行的指令如下:

A. 关闭防火墙

systemctl stop firewalld

B. 开放80端口

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

firewall-cmd --reload

 

4.停止

./nginx -s  stop

再次看下进程: ps aux|grep  nginx

 

5.重新加载

当修改了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

 

四.卸载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

 

posted on 2023-04-14 08:42  一先生94  阅读(1302)  评论(0编辑  收藏  举报

导航