下载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/
以上即为安装全部步骤。
下载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 命令换行 |