CentOS8环境下利用Docker进行Nginx部署
前言
算是第一次写博客,目前就记录一下工作内容,防止大脑退化。
1. Docker容器部署示例(Nginx)
docker run --name yikedaxue -p 3160:80 \ #容器命名为yikedaxue,将内部端口80映射到外部端口3160
-v /usr/share/nginx/nginx-conf/yike/nginx.conf:/etc/nginx/nginx.conf \ #将指定目录的nginx配置文件挂载
-v /usr/share/nginx/vue/yikedaxue:/yike \ #将指定目录的静态网页挂载
-v /usr/share/nginx/nginx-conf/yike/logs:/etc/nginx/logs \ #将指定目录的nginx日志文件挂载
-d nginx #镜像选择为nginx
1.1 Docker其他指令
docker search 镜像名 #从网络搜索指定镜像
docker pull 镜像名:版本 #从网络抓取指定镜像
docker images #查看本机已装载的镜像
docker rmi 镜像名:版本 镜像名:版本 #删除指定镜像/多个指定镜像
docker rmi -f $(docker images -qa) #删除全部镜像
docker start 容器名 #启动指定容器
docker stop 容器名 #停止指定容器
docker restart 容器名 #重启指定容器
docker rm 容器名 #删除指定容器,-f可强制删除
docker exec -it 容器名 /bin/bash #进入指定容器并用命令进行交互
1.2 Nginx配置静态网页文件示例
# For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; #设置nginx服务的系统使用用户 worker_processes auto; #自动工作进程数 error_log /var/log/nginx/error.log; #设置错误日志路径 pid /run/nginx.pid; #设置pid路径 # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; #设置组件路径 events { worker_connections 1024; #单个进程最大并发数为1024 } http { #设置日志模式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; #设置访问日志路径 sendfile on; # 开启高效文件传输模式 tcp_nopush on; # 防止网络阻塞 tcp_nodelay on; # 防止网络阻塞 keepalive_timeout 65; # 客户端未响应65毫秒后超时 types_hash_max_size 2048; # 最大连接数为2048 include /etc/nginx/mime.types; #设置文件扩展名和类型映射表 default_type application/octet-stream; #设置默认文件类型 include /etc/nginx/conf.d/*.conf; #设置子配置文件路径 server { listen 80 default_server; #配置监听端口 listen [::]:80 default_server; #配置外网访问端口 server_name _; #配置监听域名,“_”符号表示无 #配置请求的路由 location / { root /****/; #代理文件目录 index index.html; #首页文件 } error_page 404 /404.html; #错误状态码显示页面 #配置请求的路由 location = /40x.html { } error_page 500 502 503 504 /50x.html; #错误状态码显示页面 #配置请求的路由 location = /50x.html { } } }
1.2.2 Nginx常用全局变量
变量名 |
功能 |
Host |
请求信息中的host,如果请求中没有host行,则等于设置的服务器名 |
Request_method |
客户端请求的类型,如GET 、POST |
Remote_addr |
客户端的IP地址 |
Args |
请求中的参数 |
Content_length |
请求头中的Content_length字段 |
Http_user_agent |
客户端agent信息 |
Http_cookie |
客户端cookie信息 |
Remote_port |
客户端的端口 |
Server_protocol |
请求使用的协议,如HTTP/1.0、HTTP/1.1\ |
Server_addr |
服务器地址 |
Server_name |
服务器名称 |
Server_port |
服务器的端口号 |
Remote_user |
记录客户端用户名称 |
Request |
记录请求的url与http协议 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)