前言
最近想把自己做的博客部署在docker上,想替换成自己的页面,但是访问老是404,因此在这里做一个详细的总结,希望能帮助各位。
配置步骤
步骤 1:安装Docker
如果已安装Docker,请跳过。
yum install -y docker-ce
步骤 2:拉取Nginx镜像
拉取官方的Nginx镜像:
docker pull nginx
拉取完之后可以通过docker images查看镜像
步骤 3:创建一个目录用于存放Nginx配置文件和静态文件
创建目录,如果不懂,可以完全跟着教程的命令来,这里创建的文件是挂载到容器内的,可以替换成自己的配置和html文件
mkdir -p ~/nginx-docker/{conf,html,logs}
这一步执行完之后,会在root下的生成nginx-docker,其中会有3个文件,可以通过以下命令查看
ls /root/nginx-docker
我这里是通过final shell,直接把自己打包好的dist上传到html目录下
步骤 4:配置Nginx
创建一个基本的Nginx配置文件,例如nginx.conf,放在~/nginx-docker/conf/目录下:
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html; #如果是打包好的dist目录 需要在html后面跟一个/dist
index index.html index.htm;
}
#如果有反向代理,在这里配置
location /api{
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:10010/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
步骤 5:准备静态文件
如果已经上传了dist或自己的html文件,这一步跳过
在~/nginx-docker/html/目录下创建一个index.html文件作为测试
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Nginx!</title>
</head>
<body>
<h1>Success! The Nginx server is working.</h1>
</body>
</html>
步骤 6:运行Nginx容器
运行Nginx容器,并将配置文件和静态文件挂载到容器中:
docker run --name nginx -d -p 80:80 \
-v ~/nginx-docker/conf/nginx.conf:/etc/nginx/nginx.conf \
-v ~/nginx-docker/html:/usr/share/nginx/html \
-v ~/nginx-docker/logs:/var/log/nginx \
nginx
步骤 7:查看并验证Nginx运行状态
docker ps
到这里就可以通过浏览器访问你服务器的地址了,如:http://localhost,就可以看到刚才创建的index.html或dist内的页面内容。如果看到内容,说明Nginx已经成功运行在Docker容器中。
步骤 8:查看容器日志
如果有需要,可以查看Nginx容器的日志:
docker logs nginx
总结
通过以上步骤,就可以在Docker中成功部署Nginx。