nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > 前端服务器部署Nginx+docker+ubuntu

前端服务器部署Nginx +docker + ubuntu的完整过程

作者:@cc小鱼仔仔

Docker是一个开源的容器化平台,可以让你快速构建、测试和部署应用程序,Nginx是一个高性能的Web服务器和反向代理服务器,常用于部署静态网站、负载均衡等场景,这篇文章主要介绍了前端服务器部署Nginx +docker + ubuntu的完整过程,需要的朋友可以参考下

安装解压工具

sudo apt install unzip

安装docker

更新系统包索引和安装依赖

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin

docker设置开机启动

sudo systemctl enable docker
sudo systemctl start docker

 验证是否安装成功

docker --version

两个包 一个nginx.tar  一个 nginx.config.tar

通过网盘分享的文件:部署文件

链接: https://pan.baidu.com/s/1VPqoKkFplp1XxTmKKByM_A 提取码: 2fib

docker load -i nginx.tar   指定文件目录啊~
docker ps -ef|grep nignx
docker load -i /opt/software/nginx.tar

把nginx.config.tar 上传到:/opt/software/nginx ,在执行tar -zxvf nginx.config.tar

验证镜像

目录下# docker images |grep nginx
nginx         latest    605c77e624dd   3 years ago   141MB

解压后的文件夹目录结构

解压tar包时会有个nginx.conf的文件夹替换为nginx.conf文件。

编写启动脚本

docker run -d \           # -d: 后台运行(detached mode)
  --name nginx \          # 指定容器名为 "nginx"
  --restart always \      # 自动重启策略:总是重启(容器退出时自动重启)
  --privileged \          # 赋予容器特权模式(访问所有设备,更高权限)
  -p 28051:80 \           # 端口映射:主机28051端口 → 容器80端口
  -v /opt/software/nginx/conf:/etc/nginx/conf.d \        # 挂载配置文件目录
  -v /etc/localtime:/etc/localtime \                     # 同步主机时间
  -v /opt/software/nginx/logs:/var/log/nginx \           # 挂载日志目录
  -v /opt/software/nginx/html:/usr/share/nginx/html \    # 挂载网站文件目录
  -v /opt/software/nginx/nginx.conf:/etc/nginx/nginx.conf \  #意思是将主机的文件挂载到容器前者为自己写 后者是地址 挂载主配置文件
  -v /home/data/nignxstatic:/home/data/nignxstatic \     # 挂载静态资源目录
  nginx:latest            # 使用 nginx:latest 镜像

如果有nginx执行docker rm nginx删除一下在创建。

***g.conf的配置简配了一下,具体配置建议了解下配置详情

server {
    listen 80;
    #listen 443 ssl;
    server_name lbs.nginx.conf;
    ssl_session_timeout 5m;
        location @knowledge{
            rewrite ^.*$ /knowledge/index.html last;
        }
     location /temp_screen {
            root /home/data/nignxstatic;
            try_files $uri $uri/ @temp_screen;
            index index.html;
        }
        location @temp_screen {
            rewrite ^.*$ /temp_screen/index.html last;
        }
        location /mapdata {
autoindex on;
            root /home/data/nignxstatic;
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
            add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,ri,accesstoken,satoken';
            try_files $uri $uri/ @mapdata;
            index index.html;
        }
 location @mapdata {
            rewrite ^.*$ /mapdata/index.html last;
        }   
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
   location @router {
        rewrite ^.*$ /index.html last;
    }
}

部署项目存放地址~详情根据conf的配置来定

前端的tar包解压到这~ 可以穿文件夹具体conf的配置绝定~

启动项目

docker  ps -a 查看容器  docker start id 启动容器 没有输入启动脚本的话执行下面代码

docker run -d \
  --name nginx \
  --restart always \
  --privileged \
  -p 28051:80 \
  -v /opt/software/nginx/conf:/etc/nginx/conf.d \
  -v /etc/localtime:/etc/localtime \
  -v /opt/software/nginx/logs:/var/log/nginx \
  -v /opt/software/nginx/html:/usr/share/nginx/html \
  -v /opt/software/nginx/nginx.conf:/etc/nginx/nginx.conf \
  -v /home/data/nignxstatic:/home/data/nignxstatic \
  nginx:latest

docker ps 看是否启动了

总结 

到此这篇关于前端服务器部署Nginx +docker + ubuntu的文章就介绍到这了,更多相关前端服务器部署Nginx+docker+ubuntu内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文