Nginx 01篇——Nginx详细安装步骤以及Nginx各种启动方式
- 1. 前言
- 2. 下载安装
- 2.1 下载安装包
- 2.2 安装
- 2.2.1 离线安装
- 2.2.1.1 安装步骤
- 2.2.1.2 安装问题
- 2.2.2 先安装所需依赖
- 2.2.3 直接 yum 安装
- 2.2.4 指定安装目录安装
- 3. nginx 启动
- 4. 启动后访问
- 5. Nginx 启动等简单命令
- 5.1 启动Nginx
- 5.2 关闭 Nginx
- 5.3 重启 Nginx(平滑的重启,重新加载配置文件)
- 5.3.1 重启 Nginx 命令(解释)
- 5.3.2 重启 Nginx(配置文件错误时演示)
- 5.4 检查 Nginx 配置文件
- 5.4.1 Nginx 执行文件的命令行参数介绍
- 5.4.2 检查 Nginx 配置文件演示
- 5.4.3 遇到的问题
- 5.4.3.1 -bash: nginx: command not found
- 6. 卸载Nginx ,重新安装
- 6.1 卸载 Nginx
- 6.2 使用wget下载 并 指定Nginx的安装目录
- 6.2.1 使用wget下载安装包
- 6.2.2 解压并安装Nginx
- 6.2.3 指定安装目录安装
1. 前言
2. 下载安装
2.1 下载安装包
- 去官网自己下载所需版本,版本尽量选择
Stable version
:最新稳定版,生产环境上建议使用的版本。
http://nginx.org/.
- 下载之后上传到服务器上准备安装
2.2 安装
2.2.1 离线安装
2.2.1.1 安装步骤
-
先解压
tar -zxvf nginx-1.22.0.tar.gz
-
以防安装失败,执行
make
(编译) 和make install
(安装)命令之前,可以先执行命令./configure
,检查是否缺少依赖
看到这个结果,证明不缺少什么依赖了,我这里之前可能都装过,所以不缺少,如果缺少什么会报错提示,直接安装即可- 比如OpenSSL
yum -y install openssl openssl-devel
- 比如OpenSSL
-
检查完之后没问题,直接安装即可
使用命令:make && make install
2.2.1.2 安装问题
2.2.2 先安装所需依赖
-
先安装所需的依赖,直接一键安装,其实这里的
gcc
什么的,如果装过 redis 什么的其他软件,这个gcc
你服务器上也早就安装了,这个一键安装主要是给没说一下 nginx 安装需要这些依赖,别较真,知道就行了yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
-
然后在按照
2.2.1
的步骤安装即可
2.2.3 直接 yum 安装
-
如果不离线安装,也可以直接 yum 命令安装,自己可以试试
yum -y install nginx
-
查询默认按照目录:
whereis nginx
不指定安装目录的话,有点乱,个人觉得安装时最好指定安装路径,当然看自己喜好
2.2.4 指定安装目录安装
- 请往下看 6.2 章节的《使用wget下载 并 指定Nginx的安装目录》
3. nginx 启动
- 启动:
进入目录:/usr/local/nginx/sbin
启动命令:./nginx
4. 启动后访问
- 首先查看访问端口:
去安装路径下找nginx.conf
配置文件,查看端口号
- 浏览器输入IP地址访问
如果不能访问,看下面防护墙的处理 - 处理防火墙问题
虚拟机linux查看防火墙状态、关闭防火墙、开放端口等.
5. Nginx 启动等简单命令
5.1 启动Nginx
- 常用的命令如下:
- 进入nginx目录,执行启动命令:
./nginx
- 直接带目录启动:
/usr/sbin/nginx
- 使用 systemctl 启动方式:
service nginx start
- 指定配置文件启动:
./nginx -c /etc/nginx/nginx.conf
- 进入nginx目录,执行启动命令:
5.2 关闭 Nginx
- 快速关闭 Nginx
./nginx -s stop
- 正常关闭 Nginx,有序地停止 Nginx(等待所有请求结束后再关闭Nginx)
./nginx -s quit
5.3 重启 Nginx(平滑的重启,重新加载配置文件)
5.3.1 重启 Nginx 命令(解释)
- 观察进程号,如下:
./nginx -s reload
- 简单解释:
- reload :重新加载配置文件,启动一个加载新配置文件的Worker Process,正常关闭一个加载旧配置文件的Worker Process。
- 我们来看官网怎么说的吧:
https://nginx.p2hp.com/en/docs/beginners_guide.html.
- 看不太懂,来看翻译,如下:
Nginx重载 一旦主进程接收到重新加载配置的信号,它就会检查新配置文件的语法有效性,并尝试应用其中提供的配置。 如果成功,主进程将启动新的工作进程,并向旧的工作进程发送消息,请求它们关闭。 否则,主进程将回滚更改并继续使用旧配置。 旧的工作进程,接收到关闭命令,停止接受新连接,并继续为当前请求提供服务,直到所有此类请求都得到服务。之后,旧的工作进程退出。
- 所以,Nginx 重启(reload )之后,master 的进程号不变,worker的进程号会改变。
5.3.2 重启 Nginx(配置文件错误时演示)
-
下面我修改配置文件,第一次故意修改错,重启我看看master 和 worker 的进程号。然后在配置文件没问题的情况下再次重启,再看master 和 worker 的进程号。
主要看图中文字解释,如下:
5.4 检查 Nginx 配置文件
5.4.1 Nginx 执行文件的命令行参数介绍
-t
参数:
进行配置文件语法检查,测试配置文件的有效性。
如果配置文件存在语法错误,会有相应的提示信息,所以,我们修改配置文件后,可以先进行语法检查,然后再重启 Nginx-T
参数:
进行配置文件语法检查,测试配置文件的有效性,同时输出所有有效配置内容。-q
参数
在测试配置文件有效性时,不输出非错误信息。- 更多 Nginx 执行文件的命令行参数可以通过
-h
参数获取,如下:nginx -h
5.4.2 检查 Nginx 配置文件演示
- 执行配置文件检测:
nginx -t
- 执行配置文件检测,且只输出错误信息:
nginx -t -q
- 执行测试,如下:
5.4.3 遇到的问题
5.4.3.1 -bash: nginx: command not found
- 在yum 安装的 Nginx下执行
nginx -h
没问题,但是在离线安装的Nginx下执行有问题,如下:
- 解决上述问题
- ① 最简单的方式就是不解决,如下:
使用./nginx -h
查看
- ② 创建软链接:
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx
另外,关于软链接的介绍可以看下面这篇文章:
简单说说 linux 软链接和硬链接. - ③ 配置环境变量:
- 在配置环境变量之前,我们先把上面的软链接给删了
rm -rf /usr/local/bin/nginx
- 然后再配置环境变量,如下:
vim /etc/profile
- 这里我是重新创建的软链接,再次删除,如下:
- 在配置环境变量之前,我们先把上面的软链接给删了
- ④ 那就是在安装的时候,通过设置 configure 的命令参数来实现,比如
--with-cc=PATH
和--with-cpp=PATH
。
我没有试,想尝试的可以自己试试玩。
- ① 最简单的方式就是不解决,如下:
6. 卸载Nginx ,重新安装
- 使用 yum 安装之后,默认安装路径不是自己想用的,那可以卸载重装
- 查看安装目录:
whereis nginx
- 查看安装目录:
6.1 卸载 Nginx
- 先检查并关闭nginx服务:
ps -ef | grep nginx nginx -s stop
- 查询包含 nginx 的所有文件夹
find / -name nginx
- 删除上述查询到的文件
好了,下面安装如下
6.2 使用wget下载 并 指定Nginx的安装目录
6.2.1 使用wget下载安装包
- 下载如下:
wget http://nginx.org/download/nginx-1.22.0.tar.gz
6.2.2 解压并安装Nginx
- 准备好安装路径:
/home/susu/soft/install/nginx
- 解压安装包
tar -zxvf nginx-1.22.0.tar.gz
6.2.3 指定安装目录安装
- 准备好安装路径:
/home/susu/soft/install/nginx
- 配置安装选项,指定安装目录
- 指定安装目录配置如下:
./configure --prefix=/home/susu/soft/install/nginx --sbin-path=/home/susu/soft/install/nginx/sbin/nginx
- 其他更多配置,可用命令
./configure --help
查看
- 指定安装目录配置如下:
- 开始安装
make && make install
ok,到这里就是安装成功了 - 查看安装目录
- 启动 Nginx 服务
好了,到此就完事了,第一篇完美!