我的编程空间,编程开发者的网络收藏夹
学习永远不晚

nginx部署多个前端项目

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

nginx部署多个前端项目

前提:nginx已在服务器上安装完成

假如有2个项目(一个company,一个test),需要通过ip或者域名来访问,我们通过http://www.test.com来举例

首先把2个静态资源项目或者打包好的项目放到Nginx中

1、nginx安装目录及项目目录

在nginx的html里面 创建两个文件夹,一个services放服务端代码,一个web放前端代码

将前端静态页面或打包好的项目company和test项目放到html/web下面

2、开始nginx配置

进到nginx/conf目录,编辑nginx.conf文件 vim nginx.conf

nginx默认的根目录访问的是html下的index.html页面,默认端口80,访问http://www.test.com 即可看到下面文件

3、nginx下的配置文件(/nginx/conf/nginx.conf)里的server节点配置

server相关释义:

server {  #监听的端口,80端口是默认端口,在访问时,就无需输入端口号,其他的都需要输入端口号,比如这里访问地址就是127.0.0.1,而若是8080端口,则是127.0.0.1:8080  listen       80;  #此处localhost可改为要访问的域名或者ip地址,若有多个用空格隔开。例如 server_name www.baidu.com baidu.com test.baidu.com  server_name  localhost;  #编码  charset utf-8;  #access_log  logs/host.access.log  main;  location / {      #nginx下HTML文件夹,访问上述域名时会检索此文件夹下的文件进行访问      root   html/web/company;      #输入网址(server_name:port)后,默认的访问页面      index  index.html index.htm;  }}

listen:指定访问端口,默认80,指定9001,9002之后,我们再次访问

80端口: http://www.test.com

9001、9002端口访问:http://www.test.com:9001    http://www.test.com:9002

指向的都是nginx/html页面下的index.html页面

以上location的配置就可以通过相关路由来访问啦,访问到的路径都是nginx/html/web下的打包之后的项目路径

http://www.test.com:9001/docs     http://www.test.com:9002/docs

http://www.test.com:9001/login     http://www.test.com:9002/login

http://www.test.com:9001/office     http://www.test.com:9002/office

http://www.test.com:9001/company    http://www.test.com:9002/company

1 配置改完后测试配置是否正确(找到nginx/sbin文件夹打开,看到nginx文件后再命令行输入nginx -t检测)

2 配置正确后,重启nginx(./nginx -s reload)

3 若访问的是域名还需去进行域名解析,网站配置域名指向ip。检测是否成功:ping一下域名,若结果为自己指向的ip则解析成功

4 测试访问即可

4、 介绍location配置中root和alias的区别

/office 和 /company 分别使用root和alias来配置

4.1使用root配置

浏览器地址栏输入 http://www.test.com:9001/company 或者http://www.test.com:9001/officiaNetwork均可访问

4.2使用alias配置

浏览器地址栏输入 http://www.test.com:9001/office  或者  http://www.test.com:9001/company

 http://www.test.com:9001/office/index.html  或者  http://www.test.com:9001/company/index.html 均可访问

4.3 root 和 alias 的区别

首先确定 root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径

使用 root 时, 服务器里真实的资源路径是 root 的路径拼接上 location 指定的路径

比如请求 http://www.test.com:9001/company/, 真实的资源路径就是

html/web/company/index.html

使用alias顾名思义是代指 location 的别名, 不论location 是什么, 资源的真实路径都是alias所指定的,所以location是匹配浏览器输入的地址, 真实访问的路径就是alias 指定的路径

其它区别

alias 只能配置在location 中, 而root 可以配置在 server, http 和 location 中

alias 后面必须要以 "/" 结尾, 否则会查找不到文件, 报404错误; 而 root 对 "/" 可有可无

5、配置node项目绑定域名

server {    listen 80; # 端口    server_name test.com; # 域名    location / {        proxy_pass http://0.0.0.0:3000;        proxy_read_timeout 18000; # 设置超时    }}

6、HTTPS(SSL)配置

server {    listen       443 ssl; # 端口    server_name  test.com;  # 域名    ssl_certificate     /path/xxx.pem # 证书路径 pem or crt;    ssl_certificate_key  /path/xxx.key; # 私钥    ssl_session_cache    shared:SSL:1m;    ssl_session_timeout  5m;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_ciphers  HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers  on;    location / {        # 这里可以配置静态服务器 or 代理    }}# http 自动跳转到 httpsserver{    listen 80;    server_name test.com;    rewrite ^/(.*)$ https://test.com:443/$1 permanent;}

其他:

Vue访问后刷新空白的问题

可能是由于VurRouter开启了HTML5 History 模式具体可查看VurRouter后端配置例子

需要在配置中添加一行 try_files $uri $uri/ /index.html;

例:

server {    listen 80; # 端口 需要服务器开放端口    # 域名绑定需要将域名解析A记录到改服务器ip    server_name test.com; # 你的域名 如果需要ip访问请注释该行并改变端口    location / { # 监听的路径        root /www; # /www 就是刚刚创建的目录        index index.html index.htm; # 默认入口        try_files $uri $uri/ /index.html;    }}

如果80端口被占用了,或者已经有tomcat在跑80端口了,只需要停用tomcat,kill掉其他80端口即可

如果你发现修改了以后不起作用的话,可能是之前的nginx服务还没关闭

ps aux | grep nginx

kill -9 pid 关闭nginx服务

跨域请求

我们在设置nginx.conf的时候,有一个配置是

location /api/ {

        proxy_pass http://localhost:8000;

        proxy_set_header Host &host;

}

意思是后台开启服务的端口为8000,当我访问 server_name:8086/api/的时候就会流到后台开启的服务中。所以在前端页面请求后台的时候域名和端口要为 server_name:8086/api/

例:下图为前端发起请求的路径

完结,撒花~

来源地址:https://blog.csdn.net/weixin_42333548/article/details/126032000

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

nginx部署多个前端项目

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

nginx中如何部署多个web项目

在nginx中部署多个web项目可以通过配置多个server块来实现。每个server块代表一个web项目,可以根据不同的域名或者端口来区分不同的项目。以下是一个简单的示例配置:server {listen 80;server_name
nginx中如何部署多个web项目
2024-04-08

nginx如何配置多个前端项目

本篇内容主要讲解“nginx如何配置多个前端项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx如何配置多个前端项目”吧!最近一台服务器要配置多个前端项目,当然前后端分离就需要nginx
2023-07-05

前端如何将项目部署到服务器(Nginx)

文章目录 一、准备环境二、安装Nginx1、 安装Nginx依赖2、下载Nginx3、解压下载好的Nginx 压缩包4、编译安装Nginx5、启动Nginx服务 三、操作步骤1、使用Xshell连接服务器2、上传静态资源文件3、
2023-08-21

前端项目部署,阿里云服务器部署前端项目,超详细

需求背景:作为一个前端,特别身处于中小公司时,对于部署也需要有所了解。本次就介绍前端基础的项目部署。本次使用的是阿里云服务器进行的部署 部署核心步骤 1.准备打包好的前端代码(dist包)或者是一个html文件 2.购买阿里云服务器,并且连
2023-08-25

docker怎么部署前端项目

要部署前端项目,你可以使用Docker来创建一个容器,然后在容器中运行你的前端应用。以下是一些步骤:1. 创建一个Dockerfile,指定基础镜像。例如,你可以选择一个带有Node.js的镜像作为基础镜像。```FROM node:lat
2023-08-18

nginx配置多个前端项目实现步骤

本文主要介绍了nginx配置多个前端项目实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-06

uwsgi+nginx项目部署

部署Django项目Django+uWSGI+nginx 部署django 一个pyhton的开源web框架。uWSGI 一个基于自有的uwsgi协议、WSGI协议和http服务协议的web网关nginx 常用的代理服务器WSGI:一种实现
2023-01-31

nginx部署前端项目的超级详细步骤记录

众所周知Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,这篇文章主要给大家介绍了关于nginx部署前端项目的超级详细步骤,需要的朋友可以参考下
2023-02-01

云服务器部署前端项目

云服务器部署前端项目可以根据不同的需求和场景来进行,以下是一些可能会用到的步骤:确定服务器的大小和配置首先要确定你的云服务器的大小和配置,以及要运行的前端应用程序的大小和配置。例如,你可能需要购买大量的虚拟主机或者云虚拟机来支持多种应用程序。还要考虑你选择的云平台或提供商的可扩展性和性能等因素。选择云平台在选择云平台时,需要考虑其安全性、性能以及可管理性。可以考虑使用公有云、私有云或本
2023-10-26

编程热搜

目录