在开始之前,你可能需要对你的虚拟机进行一些基本的配置。参考如下连接。
1. 什么是nginx
Nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。由俄罗斯的程序设计师Igor Sysoev所开发。支持高并发连接,并且cpu、内存等资源消耗非常低,运行非常稳定。
2. nginx的应用场景
http服务器:nginx可以作为http服务器提供服务。同时还可以做页面静态服务器。
虚拟主机:http可以在一台机器上虚拟出多台主机,基于域名或端口提供不同的网站服务。
反向代理/负载均衡:当网站访问量达到一定的数量后,需要服务端集群对外提供服务。可以使用nginx反向代理/负载均衡使流量均匀的分发到每个服务器节点,不会出现某台服务器负载过高或某台闲置的情况,同时会防止因某台服务器宕机出现服务中断的情况。
3. nginx安装
方式一:源码包形式安装。
准备编译环境。
nginx是一个C语言开发的软件,需要依赖gcc环境编译。
yum -y install gcc prce-devel zlib-devel openssl-devel
说明:gcc提供编译环境。prce用于解析正则表达式。zlib用于对http包进行压缩或者解压缩。openssl用于https协议密钥解析。
下载安装包
官方下载链接http://nginx.org/en/download.html。
选择一个版本下载即可。比如我下载了1.24.0版本。
wget http://nginx.org/download/nginx-1.24.0.tar.gz
解压并创建安装目录
tar -xvf nginx-1.24.0.tar.gz && mkdir -p /usr/local/nginx
运行configure
cd nginx-1.24.0 && ./configure --prefix=/usr/local/nginx
注意:安装目录是`/usr/local/nginx`
编译&&安装
这个命令必须在源码的路径下运行。
make && make install
这一步完成会在安装目录生成相关的目录。
conf 配置文件目录。
html 静态文件目录。
logs 日志文件目录
sbin 命令 启动,停止等等命令。
启动运行
cd /usr/local/nginx/sbin/ && ./nginx
nginx是一个二进制文件,可以直接运行。
其他相关命令:
# 启动
/usr/local/nginx/sbin/nginx
# 停止
/usr/local/nginx/sbin/nginx -s stop
# 重新加载配置文件
/usr/loacl/nginx/sbin/nginx -s reload
# 检查配置文件是否有语法错误
/usr/local/nginx/sbin/nginx -t
# 检查nginx版本
/usr/local/nginx/sbin/nginx -v
说明:我这里写的是绝对路径,如果在sbin目录下,可以使用相对路径。
方式二:yum源的安装方式
yum install -y nginx
这种方式会相对简单一些,会安装yum源默认的最新版本的nginx。我们一般只需要关心几个重要的路径即可,其中最重要的是配置文件。
# 配置文件所在位置
/etc/nginx/nginx.conf
# 日志文件所在位置
/var/log/nginx
# 首页所在的位置
/usr/share/nginx/html
其他相关命令:
# 启动nginx
systemctl start nginx
# 停止nginx
systemctl stop nginx
# 重启nginx
systemctl restart nginx
# 查看nginx状态
systemctl status nginx
# 检查配置文件是否有语法错误
nginx -t
# 刷新配置
systemctl daemon-reload
# 检查nginx版本
nginx -v
我们使用的是国内yum源,通过yum源的方式安装可能并没有官方的欢迎页,需要我们对配置文件深入了解并自行配置。
如果有容器环境,也可以使用Docker等方式运行nginx。