Nginx周末部署
创始人
2024-11-18 14:06:34
0

背景

Nginx是本人学习的一类中间件,上次完成了vue的搭建,所以顺便把项目加入Nginx吧

1. 镜像拉取与测试

查询dockerHub,选择最新最稳定的版本
docker pull nginx:stable-perl

执行下载
docker run -d --name mynginx -p 8080:80 -v D:\IMAGE\nginx:/etc/nginx nginx:stable-perl
尝试运行,成功在这里插入图片描述

2. 静态配置部署

前端通过npm run insatll完成下载,然后将Nginx的root指向编译出来的dist文件

还需要更新一下docker指令,docker run --name mynginx -p 80:80 -v D:\IMAGE\nginx\etc:/etc/nginx -v D:\IMAGE\nginx\var:/var/www/print nginx:stable-perl,这样就把配置和静态文件分开挂载了

配置如下

server {     listen       80;     listen  [::]:80;     server_name  localhost;     root /var/www/print/dist;      location / { 	try_files $uri $uri/ /index.html;     } } 

bug 前端拒绝访问

问题在于vue不识别除了localhost以外所有访问源,甚至包括127.0.0.1
解决方案:vue.config.js的defineConfig对象直接加上

  server: {     host: '0.0.0.0', // 绑定到所有网络接口     port: 5173,     // 确保端口号与应用程序一致   }, 

3.动态配置

完成了前端的配置,还需要将前端对后端的访问改为对Nginx的访问,从而完成Nginx的动静配置

axios.post("http://" + global_ip + "/search", ...
改为
axios.post("/api/search", ...
直接localhost访问,并且添加统一路径让Nginx完成识别转发

Nginx添加配置

    location /api/ {         proxy_pass http://192.168.96.200:8080/;  # 后端 API 服务的地址         proxy_set_header Host $host;         proxy_set_header X-Real-IP $remote_addr;         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;         proxy_set_header X-Forwarded-Proto $scheme;     } 

bug 405

这个响应码是方法不被后端识别,往往是url配置问题
检查一下nginx,修改配置信息

    location /api/ {         proxy_pass http://192.168.96.200:8080/;  # 由于这里一开始忘了加上“/”,导致405         proxy_set_header Host $host;         proxy_set_header X-Real-IP $remote_addr;         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;         proxy_set_header X-Forwarded-Proto $scheme;     } 

4. 动态负载

动态配置最大的特点就在于它的负载均衡,所以还是需要配置一下

# 由这里指定负载均衡地址 upstream backend {      server 192.168.96.200:8080;      server 192.168.96.210:8080; }  server {     listen       80;     listen  [::]:80;     server_name  localhost;     root /var/www/print/dist;      location /api/ {         proxy_pass http://backend/;  # 将ip地址抽象成upstream         proxy_set_header Host $host;         proxy_set_header X-Real-IP $remote_addr;         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;         proxy_set_header X-Forwarded-Proto $scheme;     }     ... 

tip1:前端部署方法

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash source ~/.bashrc nvm install 20.16.0 nvm use 20.16.0 

tip2:配置查找

默认路径为/etc/nginx/
里面有一个文件nginx.conf是主文件
主要分为了两种类型,一种是stream,一种是http
除此之外,可以通过include将http和stream的更多配置放到其它文件

http {
include /etc/nginx/conf.d/*.conf;
}

Nginx有两种日志,一种是每次都会记载的访问日志,一种是错误记载的错误日志,我们可以从配置中找到它们

相关内容

热门资讯

四分钟指引!微乐卡五星祈福有用... 四分钟指引!微乐卡五星祈福有用吗(脚本)一直一直总是有辅助插件(哔哩哔哩)1、这是跨平台的微乐卡五星...
第4分钟诀窍!一起宁德钓蟹作弊... 第4分钟诀窍!一起宁德钓蟹作弊(脚本)其实存在有辅助app(哔哩哔哩)1.一起宁德钓蟹作弊 选牌创建...
第六分钟方针!随意玩最新跳转链... 第六分钟方针!随意玩最新跳转链接有辅助吗(脚本)总是一直总是有辅助app(哔哩哔哩)在进入随意玩最新...
第九分钟教材!微信小程序边锋斗... 第九分钟教材!微信小程序边锋斗地主辅助(脚本)果然是真的有辅助插件(哔哩哔哩)1、下载好微信小程序边...
第九分钟模块!中至赣牌圈有没有... 第九分钟模块!中至赣牌圈有没有辅助(脚本)一直是真的有辅助神器(哔哩哔哩)1、中至赣牌圈有没有辅助模...
第8分钟妙计!哥哥打大a辅助(... 第8分钟妙计!哥哥打大a辅助(脚本)一贯是有辅助神器(哔哩哔哩)一、哥哥打大a辅助可以开透视的定义与...
三分钟机巧!友友辅助免费辅助器... 三分钟机巧!友友辅助免费辅助器(脚本)一直真的有辅助神器(哔哩哔哩)1、打开软件启动之后找到中间准星...
三分钟模块!乐酷有没有挂(脚本... 三分钟模块!乐酷有没有挂(脚本)原来一直总是有辅助攻略(哔哩哔哩)乐酷有没有挂能透视中分为三种模型:...
七分钟要领!都莱辅助软件(脚本... 七分钟要领!都莱辅助软件(脚本)总是一直都是有辅助app(哔哩哔哩)1、玩家可以在都莱辅助软件线上大...
六分钟学习!闲逸游戏插件(脚本... 六分钟学习!闲逸游戏插件(脚本)好像有辅助软件(哔哩哔哩)1、闲逸游戏插件透视辅助软件激活码多个强度...