IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 前后端分离项目中nginx部署的相关配置 -> 正文阅读

[系统运维]前后端分离项目中nginx部署的相关配置

一、三种情况下的不同部署

1、单个Nginx部署单个项目(大多数情况)

server {
	listen       80 default_server;
	listen       [::]:80 default_server;
	server_name  _;

        location / {
            root   /opt/srvhub/dist;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        location /srvhub/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:9999/srvhub/;
        }

        # To allow POST on static pages 允许静态页使用POST方法
        error_page  405 =200 $uri;

	error_page 404 /404.html;
	    location = /40x.html {
	}

	error_page 500 502 503 504 /50x.html;
	    location = /50x.html {
	}
}

2、单个Nginx调用多个后端接口服务地址

server {
	listen       8000 default_server;
	listen       [::]:8000 default_server;
	server_name  _;

        location / {
            root   /opt/srvhub/dist;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

	location /magic/web/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:9999/magic/workspace/;
        }

        location /srvhub/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://localhost:9999/srvhub/;
        }

        # To allow POST on static pages 允许静态页使用POST方法
        error_page  405 =200 $uri;

	error_page 404 /404.html;
	    location = /40x.html {
	}

	error_page 500 502 503 504 /50x.html;
	    location = /50x.html {
	}
}

3、单个Nginx 如何实现部署多个不同的项目

标重点:
root 对应的文件目录不一样
server的监听端口配置为不一样
server {
        listen       8000;
        server_name  localhost;
        location / {
            root   /opt/srvhub/html;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		location /prod-api{
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://localhost:8880/;
		}
    }
	
	server {
		listen       9000;
        server_name  localhost;
        location / {
            root   /opt/srvhub/dist;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		location /prod-api{
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://localhost:8880/;
		}		
	}

4、nginx.conf内容过多,可以使用外挂的方式来引用外部文件,标签为:include,演示如下:

主文件配置,大部分内容已省略

http {
    server {
        listen       80;
        server_name  localhost;
        client_max_body_size 10M;

	location / {
            root   /opt/hidata/hidbm-vue/ui;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        
	location /jsrccb {
            alias   /opt/hidata/hidbm-vue/login;
            index  index.html;
        }	

	location /stage-api/{
	    proxy_set_header Host $http_host;
	    proxy_set_header X-Real-IP $remote_addr;
	    proxy_set_header REMOTE-HOST $remote_addr;
	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	    proxy_pass http://localhost:8080/;
	}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

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

通过include 标签,来引用外挂文件
-bash-4.1# pwd
/etc/nginx/conf.d
-bash-4.1# ls
amis.conf  mysql-repo.conf  srvhub.conf
-bash-4.1# cat amis.conf 
server {
	listen       9090 default_server;
	listen       [::]:9090 default_server;
	server_name  _;

        location / {
            root   /opt/hidata/amis/ui;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

	error_page 404 /404.html;
	    location = /40x.html {
	}

	error_page 500 502 503 504 /50x.html;
	    location = /50x.html {
	}
}

-bash-4.1# 

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 01:04:54  更:2022-09-21 01:05:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:38:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码