Docker 安装 Nginx 部署前端项目

这篇具有很好参考价值的文章主要介绍了Docker 安装 Nginx 部署前端项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Docker 安装 Nginx

 docker pull nginx # 不加版本号 默认拉取最新版

注意:这里有一个需要注意的点,Nginx 一般是根据配置文件启动的。

如果我们在第一次启动的时候就挂载目录,那么因为我们宿主机是空文件,会直接导致 Nginx 容器内的配置文件被覆盖,致使启动失败。

所以的步骤如下

1、宿主机创建好要挂载的目录

 mkdir -p /home/nginx/
 mkdir -p /home/nginx/logs  
 mkdir -p /home/nginx/html 

-p 参数的作用就是允许创建多级目录

2、启动一个不挂载的容器

 docker run -d --name nzc-nginx  -p 80:80 nginx

docker安装nginx,docker,nginx,前端

为了让大家更进一步理解 Nginx 目录结构,我们用命令进入 Nginx 容器

 docker exec -it nzc-nginx bash

-it 以交互式进入容器 ,bash保留为容器终端的输入形式,所以结合起来就是进入容器终端并且的保留为容器终端的输入形式(-it和bash的结合作用)

docker安装nginx,docker,nginx,前端

/etc/nginx/nginx.conf是nginx的主配置文件,具体内容留在后一章节再说吧。

/etc/nginx/conf.d下的default.conf 就是默认 server 配置

3、从容器中把配置文件复制出来

退出容器的终端,直接在终端里输入 exit 即可。

 docker cp nzc-nginx:/etc/nginx/nginx.conf /home/nginx/nginx.conf
 docker cp nzc-nginx:/etc/nginx/conf.d /home/nginx/
 docker cp nzc-nginx:/usr/share/nginx/html /home/nginx/ #此处就是网站站点目录

docker安装nginx,docker,nginx,前端

4、暂停、删除容器

查看所有正在运行的容器

 docker ps
 docker ps -a #查看所有容器

暂停、删除容器

 docker stop nzc-nginx # nzc-nginx 容器| 容器ID 也可以,只需要前3位数字即可
 docker rm nzc-nginx
 docker rm -f nzc-nginx #直接删除正在运行的容器

docker安装nginx,docker,nginx,前端

5、重新启动一个挂载目录的容器

docker run \
-p 80:80 \
--name nzc-nginx \
-v /home/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf.d:/etc/nginx/conf.d \
-v /home/nginx/logs:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest

docker安装nginx,docker,nginx,前端

测试:可以成功访问就是成功启动啦。

docker安装nginx,docker,nginx,前端

二、Nginx 配置文件讲解

本小章节只是针对与项目有关联配置文件进行一番简单的讲解,更详细的可能就需要大家去找找其他创作者所写的文章啦。望大家见谅

我们先看看之前上文提了一嘴的主配置文件:

nginx.conf

 user  nginx;
 worker_processes  auto;
 #  error_log 输出目录
 error_log  /var/log/nginx/error.log notice;
 pid        /var/run/nginx.pid;
 ​
 events {
   # 单个工作进程可以允许同时建立外部连接的数量
     worker_connections  1024;
 }
 http {
     include       /etc/nginx/mime.types;
     default_type  application/octet-stream;
     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; 
     keepalive_timeout  65;  #连接存活时间
 ​
     #gzip  on;  支持传递压缩文件
     #  nginx 配置文件中支持 include ,即支持多配置文件组合
     include /etc/nginx/conf.d/*.conf;
 }

你可别小瞧这个文件,里面有不少设置的开关勒,不过这次不是写这里~~

继续来到 default.conf

 server {
     # 这里就是表示监听的端口
     listen       80;
     listen  [::]:80;
     # 这里表示服务地址 写域名或者ip
     server_name  localhost;
     #access_log  /var/log/nginx/host.access.log  main;
     
     # 这里就是我们今天要接触的东西了 
     # / 表示的是 ip:port后面跟着的路径 / 就是 ip:port/
     # 如果是 /nzc 访问的时候就是  ip:port/nzc/
     #基于这个逻辑,我们就可以运行多个站点
     # 这里还可以写表达式、正则表达式等 
     location / {
         root   /usr/share/nginx/html;
         index  index.html index.htm;
     }
     #error_page  404              /404.html;
 ​
     # redirect server error pages to the static page /50x.html
     #错误页面转发
     error_page   500 502 503 504  /50x.html;
     location = /50x.html {
         root   /usr/share/nginx/html;
     }
 ​
     # 反向代理的例子
     # proxy the PHP scripts to Apache listening on 127.0.0.1:80
     #
     #location ~ .php$ {
     #    proxy_pass   http://127.0.0.1;
     #}
 ​
     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     #
     #location ~ .php$ {
     #    root           html;
     #    fastcgi_pass   127.0.0.1:9000;
     #    fastcgi_index  index.php;
     #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
     #    include        fastcgi_params;
     #}
 ​
     # deny access to .htaccess files, if Apache's document root
     # concurs with nginx's one
     #
     # 黑名单白名单功能
     #location ~ /.ht {
     #    deny  all;
     #}
 }

我们在 default.conf 中加上一个 location ,等会部署我们的项目

server {
     location  /nzc {
         # alias 后面跟着的是容器内部的目录,但是我们是挂载出来的,实际上我们放在宿主机相应的挂载目录下即可
         alias   /usr/share/nginx/html/www/blog/dist;
         # 这里的crush是我项目前缀
         index  index.html index.htm;
         try_files $uri $uri/  /nzc/index.html;
      }
 }

三、部署前端项目

对了修改完 nginx配置文件,记得重启一下,不然不生效。文章来源地址https://www.toymoban.com/news/detail-847199.html

 docker restart nzc-nginx

到了这里,关于Docker 安装 Nginx 部署前端项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Docker】安装nginx➕部署项目

    接下来看看由辉辉所写的关于Docker的相关操作吧 目录 🥳🥳Welcome 的Huihui\\\'s Code World ! !🥳🥳 一.安装软件  0.Java 1.Mysql 2.安装nginx ①nginx相关介绍 ②nginx安装 二.本篇难题  本节是来部署一个项目,所以先将jar包放入进来  先是要把mysql容器创建一下,并且创建一个基于jdk的自

    2024年01月18日
    浏览(54)
  • docker 部署项目的操作文档,安装nginx

    在Linux系统上,Docker默认将镜像存储在 /var/lib/docker 目录下。这个目录包含了Docker的运行时数据,包括镜像、容器、卷等。 在 /var/lib/docker 目录下,镜像的具体存放位置如下: 镜像层(Image Layers): /var/lib/docker/image/overlay2 目录下存放了镜像的各个层。 镜像元数据(Image Meta

    2024年01月20日
    浏览(44)
  • 【Docker】使用Docker安装Nginx及部署前后端分离项目应用

            Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。它是由 伊戈尔·赛索耶夫 为俄罗斯访问量第二的Rambler.ru站点开发的,公开版本1.19.6发布于2020年12月15日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置

    2024年01月22日
    浏览(44)
  • 深入Docker5:安装nginx部署完整项目

    目录 准备 为什么要使用nginx mysql容器构建 1.删除容器 2.创建文件夹 3.上传配置文件 4.命令构建mysql容器 5.进入mysql容器,授予root所有权限 6.在mysql中用命令运行sql文件 7.创建指定数据库shop 8.执行指定的sql文件 nginx安装与部署         1.拉取镜像 2.创建并运行nginx容器 3.新建

    2024年01月19日
    浏览(44)
  • 【Docker】安装Nginx容器并部署前后端分离项目

    🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Docker实战》。🎯🎯 👉点击这里,就可以查看我的主页啦!👇👇 Java方文山的个人主页 🎁如果感觉还不错的话请给我点赞吧!🎁🎁 💖期待你的加入,一起

    2024年01月23日
    浏览(47)
  • 【Docker】Linux中使用Docker安装Nginx部署前后端分离项目应用

    目录 一、概述 1. Nginx介绍 2. Nginx优势 3. Nginx的工作原理 二、容器创建 1. Mysql容器 2. Tomcat容器 3. Nginx容器 每篇一获 Nginx(发音为 \\\"engine x\\\")是一个开源的、高性能的 HTTP 服务器和反向代理服务器。它也可以作为一个 IMAP/POP3/SMTP 代理服务器。Nginx 是由 Igor Sysoev 开发的,最

    2024年01月21日
    浏览(49)
  • Mac Docker安装配置nginx,配置代理前端访问服务器后端访问本地启动项目

     或者直接通过docker客户端查看 --name NginxTest:容器名称 -p 8080:8080:映射端口 -d nginx:设置容器后台运行  docker客户端查看 1)全局块:配置服务器整体运行的配置指令 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,

    2024年02月02日
    浏览(60)
  • Docker Nginx 运行多个前端项目

    运行Nginx容器:  copy 打包后的前端项目到容器的/usr/share/nginx目录下,拷贝后的目录一定要是:/usr/share/nginx/html否则无法运行 nginx配置:目录:etc/nginx/conf.d 新增web.conf配置 进入容器 进入容器后运行: 浏览器打开:http://localhost/#/ 和 http://localhost:8081/#/访问应用

    2024年02月12日
    浏览(50)
  • 【Docker】docker镜像+nginx部署vue项目:

    一、文档: 【1】菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html 【2】Docker部署Vue项目的项目实践:https://www.jb51.net/server/292938nb9.htm 【3】Docker部署vue项目:https://www.cnblogs.com/newcapecjmc/p/16443866.html 二、打包vue项目: 三、配置nginx: 四、配置Dockerfile: 五、构建镜像: 六、运

    2024年02月14日
    浏览(67)
  • Docker + Jenkins + Nginx实现前端自动化部署

    文章有点长,如果你是以学习的态度来看这篇文章,建议收藏起来慢慢看。 前端自动化部署一直以来概念很清楚知道怎么回事,但是其中怎么操作没怎么研究过,虽然之前环境都搭起来了,但是也只是Jenkins构建项目成功,比如提交代码之后怎么触发自动构建,打包后的文件

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包