位置: IT常识 - 正文

nginx部署多个前端项目(nginx部署前后端项目)

编辑:rootadmin
nginx部署多个前端项目

推荐整理分享nginx部署多个前端项目(nginx部署前后端项目),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nginx部署多个前端程序,nginx部署多个前端,nginx部署多个网站,nginx部署多个网站,nginx部署多个网站,nginx部署多个前端程序,nginx部署多个前端程序,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

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

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

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

3.4 测试访问即可

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

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

4.1使用root配置nginx部署多个前端项目(nginx部署前后端项目)

浏览器地址栏输入 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 指定的路径

其它区别

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

2. 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;}其他:

1、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; }}

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

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

ps aux | grep nginx

kill -9 pid 关闭nginx服务

4、跨域请求

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

location /api/ {

        proxy_pass http://localhost:8000;

        proxy_set_header Host &host;

}

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

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

完结,撒花~

本文链接地址:https://www.jiuchutong.com/zhishi/298359.html 转载请保留说明!

上一篇:一文通俗讲解元学习(Meta-Learning)(元的解释是什么?)

下一篇:Linux | 将SpringBoot+Vue项目部署到服务器上

  • 怎样在电子税务局查询已开发票
  • 增值税专用发票使用规定 最新
  • 安家费需要缴纳个税吗
  • 结转已销商品的成本的会计科目有哪些
  • 公司购买新车购置税是否可以抵扣呢
  • 招待费专票不可以抵扣
  • 营业外支出为负数怎么处理
  • 安装服务费发票需要备注地址吗
  • 设备配件定义
  • 什么情况下要做试管怀孕
  • 工程项目的存货含哪些科目
  • 离退休再任职人员的收入是否缴纳个人所得税?
  • 资产划转涉税解读
  • 多开的增值税发票交多少税
  • 原会计收入准则最新
  • 营改增之前材料含税吗
  • 在建工程明细科目
  • 企业设备融资是什么意思?
  • 将汽车奖励给员工财务如何处理?
  • 哪些罚款不能进行所得税税前扣除?
  • 遗失发票如何处理
  • 主营业务税金及附加大概比例
  • 银票和承兑的区别
  • 应收账款确认无法收回
  • 政府会计制度事业单位会计制度
  • 其他业务收入包括哪些内容
  • 商业汇票的目的
  • 库存周转天数计算实例
  • 2020年916减免退库什么意思
  • 投资性房地产房产税如何计算
  • 现金折扣通过财务费用核算
  • 进料加工分配率是什么意思
  • 涉税票据如何避免税务风险?
  • 收货款时少收几十元,分录怎么做
  • 电脑进步了系统
  • CENTOS7安装报错
  • 魁北克位置地图
  • mac教程视频
  • PHP:time_nanosleep()的用法_misc函数
  • 固定资产内部抵消例题
  • 企业的组织形式共5种
  • 北极熊睡觉图片卡通
  • 旺阿雷自然保护区里的旺阿雷瀑布,新西兰北岛 (© Nathan Kavumbura/Getty Images)
  • 收到采购专用发票
  • 原生js实现promise
  • php 字符串处理函数
  • 补缴税款后还能退税吗
  • package.json详解
  • 大前端2021
  • mysql事件使用方法
  • 增值税为什么不能在税前扣除
  • 2022年最新办公用房标准
  • 个体户营业额一般填多少
  • 用友t6自定义结转
  • 不得从销项税额中抵扣的进项税额,不得计提加计抵减额
  • 固定资产报废能否继续使用
  • 定货还是订货
  • 车船使用税和印花税谁交
  • 房地产开发企业会计制度
  • 建账要求
  • 自建厂房的进项税额抵扣
  • 哪些税费计入管理费用
  • 苹果mac怎么安装win10
  • 如何设置桌面背景颜色
  • 因以下文件的损坏或者丢失,windows无法启动hal.dll
  • win8系统更新在哪里
  • Win10系统如何利用360压缩软件解决打不开RAR压缩包的问题
  • linux网络不可达是什么原因
  • linux 运行二进制文件
  • python中对文件操作的一般步骤
  • android平台搭建
  • unity update优化
  • unity基础教程
  • 功能强大的英语
  • sdk官方网站
  • javascript教程
  • android开源app
  • 法律服务所与律师事务所区别
  • 营销代码是多少
  • 非关税壁垒英语翻译
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设