目录
前言
操作系统
操作系统:CentOS 8.2.2004 | Nginx版本:1.19.6
一、安装Nginx
1.1 安装Nginx依赖
通过命令行安装相关依赖
[root@dev huiskai]# yum install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl-devel -y
1.2 安装Nginx
1)创建一个临时文件夹存放nginx安装包
[root@dev huiskai]# mkdir /nginx-compile/
2)创建Nginx安装目录
[root@dev huiskai]# mkdir /Nginx
3)下载Nginx安装包并解压
[root@dev huiskai]# cd /nginx-compile
[root@dev nginx-compile]# wget http://nginx.org/download/nginx-1.19.6.tar.gz
[root@dev nginx-compile]# tar xf nginx-1.19.6.tar.gz
4)生成Makefile文件
[root@dev nginx-compile]# cd nginx-1.19.6
[root@dev nginx-1.19.6]# ./configure --prefix=/Nginx
5)在当前目录下进行编译
[root@dev nginx-1.19.6]# make && make install
6)进入到安装目录,查看安装情况
[root@dev nginx-1.19.6]# cd /Nginx
[root@dev Nginx]# ls
conf html logs sbin
二、启动Nginx
通过命令行启动Nginx
[root@dev Nginx]# ./sbin/nginx
没有任何错误就启动了,查看Nginx的进程状态
[root@dev Nginx]# ps -ef | grep nginx
能展示Nginx进程证明安装成功
三、Nginx启动项设置
3.1 通过命令行停止Nginx运行
[root@dev Nginx]# ./sbin/nginx -s stop
3.2 重启Nginx
一般配置Nginx需要停止Nginx运行后重启使配置生效,但是可以使用平滑重启,使Nginx完成任务后,自动读取配置文件,并实现重启。
[root@dev Nginx]# ./sbin/nginx -g HUP [-c newConfFile]
或者
[root@dev Nginx]# kill HUP `/Nginx/logs/nginx.pid`
3.3 设置Nginx开机自动启动
CentOS 7以上是用Systemd进行系统初始化的,Systemd是Linux系统中最新的初始化系统(init),它主要的设计目标是克服sysvinit固有的缺点,提高系统的启动速度。Systemd服务文件以.service结尾,比如现在要建立nginx为开机启动,如果用yum install命令安装的,yum命令会自动创建nginx.service文件。在这里我是用源码编译安装的,所以要手动创建nginx.service服务文件。开机没有登陆情况下就能运行的程序,存在系统服务(system)里。
新建nginx.service文件
[root@dev Nginx]# vim /lib/systemd/system/nginx.service
在nginx.service文件中加入如下内容
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/Nginx/sbin/nginx
ExecReload=/Nginx/sbin/nginx -s reload
ExecStop=/Nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机启动
[root@dev Nginx]# systemctl enable nginx.service
其他基本操作命令
1)启动nginx服务:
[root@dev Nginx]# systemctl start nginx.service
2)设置开机自启动
[root@dev Nginx]# systemctl enable nginx.service
3)停止开机自启动
systemctl disable nginx.service
4)查看服务当前状态
[root@dev Nginx]# systemctl status nginx.service
5)重新启动服务
[root@dev Nginx]# systemctl restart nginx.service
6)查看所有已启动的服务
[root@dev Nginx]# systemctl list-units --type=service