在 Nginx 的官网的下载页面中(http://nginx.org/en/download.html),就展示了当前 Nginx 版本,并提供了下载的连接。 如下:
将文件上传到 linux 虚拟机中
安装依赖包
因为 nginx 是基于 c 语言开发的,所以我们在安装前,需要先去安装 c 语言的编译环境和一些第三方库
yum -y install pcre-devel zlib-devel openssl openssl-devel
注意:我前面已经安装 gcc 已经安装过,这里就不安装了
下载 Nginx 安装包,前面如果没有传过来,可以使用这步,,如果已经有安装包可以省略这步骤
yum install wget
wget https://nginx.org/download/nginx-1.16.1.tar.gz
wget :
wget 命令用来从指定的 URL 下载文件。wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget 会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。
执行完 wget 指令后,就会在当前所在目录看到下载下来的文件。
解压 nginx 压缩包
cd /soft
tar -xvf nginx-1.16.1.tar.gz
配置 Nginx 编译环境
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx
说明:
--prefix 指定的目录,就是我们安装 Nginx 的目录。
编译安装
make && make install
安装完 Nginx 后,我们可以切换到 Nginx 的安装目录(/usr/local/nginx),先来熟悉一下 Nginx 的目录结构,如下图:
重点目录和文件如下:
目录/文件 | 说明 | 备注 |
---|---|---|
conf | 配置文件的存放目录 | |
conf/nginx.conf | Nginx 的核心配置文件 | conf 下有很多 nginx 的配置文件,我们主要操作这个核心配置文件 |
html | 存放静态资源(html, css, ) | 部署到 Nginx 的静态资源都可以放在 html 目录中 |
logs | 存放 nginx 日志(访问日志、错误日志等) | |
sbin/nginx | 二进制文件,用于启动、停止 Nginx 服务 |
常用命令
Nginx 中,我们的二进制可执行文件(nginx)存放在 sbin 目录下,虽然只有一个可执行文件,但是我们可以通过该指令配合不同的参数达到更加强大的功能。接下来,我们就演示一下 Nginx 常见指令, 在执行下面的指令时,都需要在/usr/local/nginx/sbin/目录下执行。
./nginx -v # version ,查看版本
检查配置文件
./nginx -t # test
启动 nginx
./nginx
启动之后,我们可以通过 ps -ef 指令来查看 nginx 的进程是否存在。
注意:
要想正常访问 Nginx,需要关闭防火墙或开放指定端口号,执行的指令如下:
A. 关闭防火墙
systemctl stop firewalld
B. 开放 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
停止 nginx
x 1./nginx -s stop
停止之后,我们可以查看 nginx 的进程:
ps -ef|grep nginx
重新加载,当修改了 Nginx 配置文件后,需要重新加载才能生效,可以使用下面命令重新加载配置文件:
./nginx -s reload
在上述我们在使用 nginx 命令在进行服务的启动、停止、重新加载时,都需要用到一个指令 nginx,而这个指令是在 nginx/sbin 目录下的,我们每一次使用这个指令都需要切换到 sbin 目录才可以,使用相对繁琐。那么我们能不能在任意目录下都可以执行该指令来操作 nginx 呢?答案是可以的,配置 nginx 的环境变量即可。
通过 vim 编辑器,打开/etc/profile 文件, 在 PATH 环境变量中增加 nginx 的 sbin 目录,如下:
[root@localhost ~]# vim /etc/profile
修改完配置文件之后,需要执行 source /etc/profile 使文件生效。 接下来,我们就可以在任意目录下执行 nginx 的指令了,如:
[root@localhost ~]# source /etc/profile
[root@localhost ~]# nginx -v