版本介绍
- Nginx开源版 http://nginx.org/en/
官方原始的Nginx版本 - Nginx plus商业版
开箱即用,集成了大量功能 - Open Resty https://openresty.org/cn/
OpenResty是一个基于Nginx与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。更适用于需要大量二次开发的场景,有极强的扩展性 - Tengine https://tengine.taobao.org/
由淘宝网发起的Web服务器项目。它在Nginx (opens new window)的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网 (opens new window),天猫商城 (opens new window)等得到了很好的检验。相比于Open Resty,扩展性不够强,但是能够满足绝多数使用场景
Liunx下安装步骤
下载Nginx包
先下载到windows下再传到Linux虚拟机上面去。
切换到安装包的路径,解压Nginx包,并安装
tar -zxvf nginx-1.25.2.tar.gz #解压到当前目录 cd nginx-1.25.2 #进入解压后的文件夹 ls #文件夹中的文件:auto CHANGES.ru configure html man src CHANGES conf contrib LICENSE README
安装依赖库
#安装C编译器 yum install -y gcc #安装pcre库 yum install -y pcre pcre-devel #安装zlib yum install -y zlib zlib-devel
安装
./configure --prefix=/usr/local/nginx #使用prefix选项指定安装的目录 make make install
启动
cd /usr/local/nginx/sbin ls # 里面是一个nginx的可执行文件 ./nginx # 启动这个可执行
关闭防火墙
systemctl stop firewalld
在浏览器输入对应的ip地址
http://192.168.107.137/
以上即为安装全部步骤。
补充:Docker安装nginx
下载Nginx镜像
命令 | 描述 |
docker pull nginx | 下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest ) |
docker pull nginx:xxx | 下载指定版本的Nginx镜像 (xxx指具体版本号) |
创建Nginx配置文件
启动前需要先创建Nginx外部挂载的配置文件( /home/nginx/conf/nginx.conf)
之所以要先创建 , 是因为Nginx本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件
当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候 docker会将nginx.conf 作为目录创建 , 这并不是我们想要的结果
# 创建挂载目录 mkdir -p /home/nginx/conf mkdir -p /home/nginx/log mkdir -p /home/nginx/html
# 生成容器 docker run --name nginx -p 9001:80 -d nginx # 将容器nginx.conf文件复制到宿主机 docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf # 将容器conf.d文件夹下内容复制到宿主机 docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d # 将容器中的html文件夹复制到宿主机 docker cp nginx:/usr/share/nginx/html /home/nginx/
创建Nginx容器并运行
docker run \ -p 9002:80 \ --name nginx \ -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /home/nginx/log:/var/log/nginx \ -v /home/nginx/html:/usr/share/nginx/html \ -d nginx:latest
命令 描述
–name nginx 启动容器的名字
-d 后台运行
-p 9002:80 将容器的 9002(后面那个) 端口映射到主机的 80(前面那个) 端口
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 挂载nginx.conf配置文件
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d 挂载nginx配置文件
-v /home/nginx/log:/var/log/nginx 挂载nginx日志文件
-v /home/nginx/html:/usr/share/nginx/html 挂载nginx内容
nginx:latest 本地运行的版本
\ shell 命令换行