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

彩票网站 在哪里做今日军事新闻头条视频

彩票网站 在哪里做,今日军事新闻头条视频,推荐几个响应式网站做参考,手机怎么做网站服务器目前所了解的部署有三种方式: 一是本地服务器部署;二是 nginx 服务器部署;三是云服务器部署 本地部署,准备好部署的包 以Vue项目为例,执行npm run build 命令打成前端包 第二步:将打包结果交给服务器(本地…

目前所了解的部署有三种方式:
一是本地服务器部署;二是 nginx 服务器部署;三是云服务器部署

本地部署,准备好部署的包

以Vue项目为例,执行npm run build 命令打成前端包
第二步:将打包结果交给服务器(本地使用 node.js创建的服务)

将打包生成的文件内容,放到服务器的静态资源文件夹中(含有 index.html的文件夹里)

第四步:测试访问前端项目

浏览器访问:http://localhost:8080即可看到我们的项目,但此时会遇到两个问题:

  1. 页面刷新 404
  2. ajax 请求无法发送

解决刷新 404 问题
问题分析:前端项目的路由,通常分为两种工作模式,分别为:

  • hash 模式(链接中带“#”,井号后面的值称为 hash 值,hash 值只在客户端(如浏览器)中使用,是不会带给服务器的,所以使用 hash 模式时,不存在刷新 404 问题。)
  • history 模式(history 去掉了URL中的#号,可以让应用的URL看起来更美观,带来的问题就是刷新时,会将前端路由携带给后端,而后端没有对应资源的匹配,就出现了 404 问题。)
    解决方案一:将前端路由器工作模式改为 hash 模式 —— 不太推荐(hash模式一般用于后台管理系统中,或者不对链接美观做要求的项目)。
    解决方案二:让服务器在收到未配置的GET路由时,都返回index.html即可。

方案二最终其实是把 url 中的 path,交给了前端路由去处理,具体配置如下:

app.get('*',(req,res)=>{res.sendFile(__dirname + '/public/index.html')
})

也可以借助connect-history-api-fallback中间件完成配置

const history = require('connect-history-api-fallback');
app.use(history());
// 配置静态资源
app.use(express.static(__dirname + '/public'))

使用connect-history-api-fallback可以让配置更灵活,比如/login临时不需要作为前端路由处理,就可以按照如下方式配置

app.use(history({verbose:false,rewrites:[{ from: /^\/login.*$/, to: (context) => context.parsedUrl.path },]
}))

请求无法发送问题:
问题分析:脱离脚手架后,就没有了代理服务器,无法转发请求到【提供数据】的服务器。
如何解决?—— 在 Node 服务器中借助http-proxy-middleware中间件配置代理,具体配置如下:

javascript
`// 引入createProxyMiddleware
const { createProxyMiddleware } = require('http-proxy-middleware')
// 配置代理中间件
app.use('/dev', createProxyMiddleware({target: 'http://xxx-h5-api.xxxxx.cn',changeOrigin: true,pathRewrite: {'^/dev': ''}
}))

nginx 服务器部署

nginx 简介:
Nginx(发音为“engine-x”)是一款高性能的 HTTP 服务器和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 最初由 Igor Sysoev 编写,于 2004 年发布。它以其高性能、高稳定性、丰富的功能集和低系统资源消耗而闻名,主要功能有:

  1. 反向代理
  2. 负载均衡
  3. 静态内容服务
  4. HTTP/2 支持
  5. SSL/TLS 支持
  6. 高速缓存

nginx 部署前端项目
整体思路:让nginx充当两个角色,既是 静态内容服务器,又是代理服务器。

  1. 修改nginx配置如下,注意nginx的根目录最好不是 C 盘
# 配置nginx根目录
location / {root   D:\dist;index  index.html index.htm;
}# 配置代理
location /dev/ {# 设置代理目标proxy_pass http://xxx-h5-api.xxxxx.cn/;
}
  1. 修改前端项目,让所有请求都转发给 /dev,随后重新打包
const request = axios.create({baseURL:'/dev',timeout:10000
})
  1. 随后直接访问nginx服务器即可,例如 nginx如果运行在8099端口,则访问:
http://localhost:8099
  1. 随后会遇到刷新404问题,追加nginx配置来解决
# 配置nginx根目录
location / {root   D:\dist;index  index.html index.htm;try_files $uri $uri/ /index.html; # 解决刷新404
}
# 配置代理
location /dev/ {# 设置代理目标proxy_pass http://xxx-h5-api.xxxxx.cn/;
}

云服务器部署

我们可以在云服务器上借助nginx完成部署,大致流程与本地nginx部署一致

  1. 关于购买云服务器,可选择:阿里云、腾讯云等。
  2. 关于操作系统,看个人习惯,Ubuntu、CentOs、RedHat、都不错。
  3. 购买完成后记得重置密码
  4. linux 远程操作软件:XshellXftp
  5. 具体配置如下:

● 给服务器安装nginx

yum install nginx

● 将打包后的前端资源放在:/xxx/xxx文件夹中
● 使用Xftp配置服务器的 nginx,修改文件:/etc/nginx/nginx.config。

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {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;tcp_nodelay         on;keepalive_timeout   65;types_hash_max_size 2048;include             /etc/nginx/mime.types;default_type        application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;server {listen       80 default_server;listen       [::]:80 default_server;server_name  _;root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {root   /var/sph;index  index.html index.htm;try_files $uri $uri/ /index.html; # 解决刷新404}# 配置代理location /dev/ { # dev前后的斜杠意义是,能兼容 后端API 接口带 dev或者不带 dev都可# 设置代理目标proxy_pass http://xxx-h5-api.xxxxx.cn/;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}
}
http://www.dtcms.com/wzjs/116265.html

相关文章:

  • 昆明哪些做网站建设的公司沈阳优化推广哪家好
  • 建筑公司企业愿景与使命抖音seo排名系统哪个好用
  • 支付网站开发费可以做无形资产百度快照是干什么的
  • 电商网站现状分析精准引流的网络推广方法
  • 网站专题策划案例短链接
  • 平台推广网站排名线上营销怎么推广
  • 网站设计策划书3000字建立网站的步骤
  • 松岗建设网站互联网广告营销是什么
  • 网站建设设计软件微信公众号推广2元一个
  • 苏州公司技术支持 苏州网站建设磁力下载
  • 网站设置可以访问网络营销专业是做什么的
  • 2o17甘孜建设网站市场营销推广策划方案
  • 武汉品牌网站建设公司排名个人网上卖货的平台
  • 海宁网站制作google广告投放
  • 网站建设论文ppt东莞整站优化排名
  • 电商网站建设与运营实训惠州自动seo
  • 武汉线上运营公司新手seo入门教程
  • 东莞网站建设多少钱深圳靠谱网站建设公司
  • 做网站资讯seo搜索引擎优化教程
  • 做空运货代常用网站小红书seo
  • 网站开发,自定义首页显示黄页网络的推广
  • 网站如何优化排名百度游戏中心
  • 033340网站建设与管理百度seo新站优化
  • 第三方网站做app中国十大搜索引擎排名最新
  • 实验室网站建设方案国家职业技能培训平台
  • 网站网站建设考虑要素下载班级优化大师
  • app排版网站网络营销有哪些
  • 公司网站建设比较好的公司短视频营销推广方案
  • 网站微信推广怎么做朋友圈推广平台
  • 网站建设规划书seo兼职论坛