# centOS中Nginx的安装
# 一:Nginx准备环境的安装
# gcc的安装
gcc是linux下的编译器,所以需要安装。
# 查看版本
gcc -v
1
2
2
# 查看没查看到就安装
yum -y install gcc
1
2
2
# pcre安装
pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。
# 安装
yum install -y pcre pcre-devel
1
2
2
# zlib安装
zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装。
# 安装
yum install -y zlib zlib-devel
1
2
2
# openssl安装
openssl是web安全通信的基石,所以需要。
# 安装
yum install -y openssl openssl-devel
1
2
2
# 二:开始安装Nginx
Nginx下载地址:http://nginx.org/en/download.html
# Nginx下载
下载方式分为两种:
- 手动下载,自己用工具上传。
- 命令下载,此处以命令方式距离。
# 下载nginx安装包
wget http://nginx.org/download/nginx-1.18.0.tar.gz
# 注意:提示没有wget命令,用下面命令安装
yum -y install wget
1
2
3
4
5
2
3
4
5
下载完成后,将安装包移动到 /usr/local/nginxhere
下,如果没有文件夹请创建,具体命令如下:
# 切换目录
cd /usr/local
# 创建文件夹
mkdir nginxhere
# 移动文件
mv /usr/local/nginx-1.18.0.tar.gz /usr/local/nginxhere/nginx-1.18.0.tar.gz
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# Nginx解压安装
- 解压
tar -zxvf nginx-1.18.0.tar.gz
1
- 进入文件夹
cd nginx-1.18.0
1
- 运行如下三个命令
./configure
make
make install
1
2
3
4
5
2
3
4
5
- 进入nginx目录
cd /usr/local/nginx/sbin
1
- 然后运行如下命令启动:
./nginx
1
2
2
- 查看运行状态
ps -ef | grep nginx
1
2
2
# 将Nginx配置进环境变量
# 第一步
vi /etc/profile
# 第二步
PATH=$PATH:/usr/local/nginx/sbin
export PATH
# 第三步
source /etc/profile
#第四步
nginx -s reload
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 尝试修改Nginx配置文件
- 尝试修改端口为5678
# 进入目录
cd /usr/local/nginx/conf
# 输入
vi nginx.conf
# 找到80修改成5678即可
1
2
3
4
5
6
7
2
3
4
5
6
7
- 访问测试
- 虚拟机内访问:
curl 192.168.199.229:5678
```
* 还可以在主机浏览器访问,主机浏览器访问记得放行端口,或者直接关闭防火墙。
``` shell
# 关闭防火墙
systemctl stop firewalld.service
# 放行端口
firewall-cmd --zone=public --add-port=5678/tcp --permanent
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 常用命令
- 停止Nginx
./nginx -s stop
1
# 三:挂载数据卷以及一些命令解释
获取最新版的 Nginx 镜像
docker pull nginx:latest
运行容器
docker run --name nginx-test -p 8080:80 -d nginx
--name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行。
进入某个容器
docker exec -it <容器id> /bin/bash
自定义nginx配置和挂载存储卷
- 定义nginx.conf配置文件,放置于宿主机(服务器)的/home/nginx目录下
- 用于include的vhost目录,从而方便管理,放置于宿主机(服务器)的/home/nginx目录下
- 定义WEB的根目录www,放置于宿主机(服务器)的/home/nginx目录下
- 创建两个日志追踪文件nginx_error.log和access.log,放置于宿主机(服务器)的/home/nginx/logs目录下
docker run --name nginxKusch --privileged=true -p 5588:80 -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/vhost:/home/nginx/vhost -v /home/nginx/logs/nginx_error.log:/home/nginx/logs/nginx_error.log -v /home/nginx/www:/home/nginx/www -d nginx
-d: 后台运行容器,并返回容器UUID(常用)
-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
v, –volume=[] 给容器挂载存储卷,挂载到容器的某个目录(常用)
–privileged=false 指定容器是否为特权容器,特权容器拥有所有的capabilities
–name=”” 指定容器名字(如mynginx),后续可以通过这个容器名字进行容器管理(常用)