当前位置: 首页 > article >正文

nginx部署前端项目(linux、docker)

引言

CentOS 7系统上使用docker安装nginx,使用nginx部署一个由Vue开发、打包的项目

docker安装nginx

这里不多赘述,直接上docker-compose.yml代码

 nginx:
   container_name: nginx
   image: nginx:1.27.2
   ports:
     - "80:80"
   volumes:
     - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
     - /docker/nginx/conf/conf.d:/etc/nginx/conf.d
     - /docker/nginx/html/dist:/etc/nginx/html
     - /docker/nginx/logs:/var/log/nginx
   networks:
     - myNetwork

需要注意的是容器卷里的/docker/nginx/html/dist,到时候部署前端项目时把dist文件夹直接放到/nginx/html文件夹里就行

nginx部署

前端打包的dist文件夹直接放到/nginx/html目录里
然后看nginx.conf的代码

# 此处注意用户不能是别的, 否则会报403错误
user  root;
worker_processes  auto;

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;


    server {
	    listen       80;
	    listen  [::]:80;
	    server_name  localhost;
	    
	    location / {
	    	#此处路径对应nginx容器内的/etc/nginx/html,所以需要将容器卷dist挂载到容器内的html
	        root html;
	        index index.html index.htm;
	    }
	
	}
}

常见问题

404: 可能是容器内的项目文件夹html为空, 可能是容器卷挂载错误
403: 禁止访问index.html,两种情况:1.可能是容器内的项目文件夹html不存在index.html,可能是容器卷挂载错误;2.可能是权限问题,需要将nginx.conf开头的用户改为root: user root
500:需要自行排查

查看日志的两种方式

docker logs nginx
cat /nginx/logs/error.log


http://www.kler.cn/a/612834.html

相关文章:

  • 解锁大语言模型潜力:LangChain,构建AI应用的全新框架
  • Angular由一个bug说起之十五:自定义基于Overlay的Tooltip
  • 数字人分身生成50语种发布会视频技术架构深度解析
  • CTF类题目复现总结-[MRCTF2020]ezmisc 1
  • 网络通信协议浅析:TCP/IP、UDP、HTTP 和 MQTT
  • java项目之基于ssm的亚盛汽车配件销售业绩管理系统(源码+文档)
  • 基于网启PXE服务器的批量定制系统平台(详细版)
  • 推荐系统(十六):基于ESMM的商品召回/推荐系统
  • SpringBoot学习Day1
  • Appium 入门操作指南
  • 地理信息可视化技术大全【WebGIS 技术文档大全】
  • Nginx多域名HTTPS配置全攻略:从证书生成到客户端安装
  • 【矩阵快速幂】P2100 凌乱的地下室|省选-
  • UE4学习笔记 FPS游戏制作31 显示计分板
  • 31天Python入门——第16天:模块与库详解
  • 正则表达式-笔记
  • ArayTS:一个功能强大的 TypeScript 工具库
  • Docker 快速入门指南
  • 路由器、交换机、防火墙、服务器、负载均衡在网络中作用
  • 第三课:Stable Diffusion图生图入门及应用