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

快速网站排名提升工具怎么在网站上建设投票统计

快速网站排名提升工具,怎么在网站上建设投票统计,济宁营销网站建设,2017网站备案抽查nuxt3打包后的项目部署相对于一般vite打包的静态文件部署要稍微麻烦一些#xff0c;还有一个主要的问题是开发环境配置的.env环境变量在打包后部署时获取不到#xff0c;具体的解决方案可以参考我之前文章 nuxt3项目打包后获取.env设置的环境变量无效的解决办法。 这里使用的…nuxt3打包后的项目部署相对于一般vite打包的静态文件部署要稍微麻烦一些还有一个主要的问题是开发环境配置的.env环境变量在打包后部署时获取不到具体的解决方案可以参考我之前文章 nuxt3项目打包后获取.env设置的环境变量无效的解决办法。 这里使用的方法是在部署时的项目根目录增加.env文件并在server/index.mjs修改代码读取。网上搜索到的通过更改./server/chunks/_/nitro.mjs定义的port这种方法在现版本已不适用。 本文是只使用node的部署方案未用nginx反向代理。 本次项目使用的主要依赖版本如下 node:22.12.0, nuxt:3.15.2, vue:3.5.13, vue-router:4.5.0部署项目的服务器版本为 Windows Server 2022 Datacenter我们先将项目执行打包在成功打包后会有一行代码提示 ✔ You can preview this build using node .output/server/index.mjs 也就是说只要执行node .output/server/index.mjs我们的项目就能跑起来了执行后终端输出 Listening on http://[::]:3000可以看到默认使用的是http并且端口号是3000那如何修改到使用https和目标端口号呢这时需要打开.output/server/index.mjs文件看看代码是如何执行的主要是这段代码 const cert process.env.NITRO_SSL_CERT; const key process.env.NITRO_SSL_KEY; const nitroApp useNitroApp(); const server cert key? new Server({ key, cert }, toNodeListener(nitroApp.h3App)): new Server$1(toNodeListener(nitroApp.h3App)); const port destr(process.env.NITRO_PORT || process.env.PORT) || 3e3; const host process.env.NITRO_HOST || process.env.HOST; const path process.env.NITRO_UNIX_SOCKET; const listener server.listen(path ? { path } : { port, host }, (err) {if (err) {console.error(err);process.exit(1);} const protocol cert key ? https : http;很明显它都是通过环境变量来判断是开启http还是https以及是否有定义端口号那我们只需要这里定义的环境变量能正常获取就行了。 需要注意的是开启https还需要提供相应的SSL/TLS证书 假如项目部署的根目录是D:\server-project 先将.output下的全部文件复制到server-project文件夹下然后新建ssl文件夹将证书文件放入新建.env文件定义环境变量添加如下内容 NITRO_PORT443 //端口号 NITRO_SSL_KEY./ssl/demo.key //相对于根目录的路径 NITRO_SSL_CERT./ssl/demo.crt //相对于根目录的路径也可以是.pem文件结果如图 修改server-project/server/index.mjs修改处已加注释说明全文如下 import process from node:process; globalThis._importMeta_ { url: import.meta.url, env: process.env }; import { Server as Server$1 } from node:http; import { Server } from node:https; import {t as toNodeListener,d as destr,u as useRuntimeConfig,a as trapUnhandledNodeErrors,s as setupGracefulShutdown,b as useNitroApp, } from ./chunks/_/nitro.mjs; import node:crypto; import node:buffer; import node:fs; import node:url; import uuid; import node:path; /* 新增加的代码--start */ import { resolve } from node:path; import { loadEnvFile } from node:process; import { readFileSync } from node:fs; loadEnvFile(resolve(process.cwd(), ./.env)); /* 新增加的代码--end */ const cert process.env.NITRO_SSL_CERT; const key process.env.NITRO_SSL_KEY; const nitroApp useNitroApp();/* server更改前const server cert key? new Server({ key, cert }, toNodeListener(nitroApp.h3App)): new Server$1(toNodeListener(nitroApp.h3App)); */// server修改后主要是将cert和key的值读取后返回给Server const server cert key? new Server({key: readFileSync(resolve(process.cwd(), key)),cert: readFileSync(resolve(process.cwd(), cert)),},toNodeListener(nitroApp.h3App)): new Server$1(toNodeListener(nitroApp.h3App)); // 修改代码结束 const port destr(process.env.NITRO_PORT || process.env.PORT) || 3e3; const host process.env.NITRO_HOST || process.env.HOST; const path process.env.NITRO_UNIX_SOCKET; const listener server.listen(path ? { path } : { port, host }, (err) {if (err) {console.error(err);process.exit(1);}const protocol cert key ? https : http;const addressInfo listener.address();if (typeof addressInfo string) {console.log(Listening on unix socket ${addressInfo});return;}const baseURL (useRuntimeConfig().app.baseURL || ).replace(/\/$/, );const url ${protocol}://${addressInfo.family IPv6? [${addressInfo.address}]: addressInfo.address}:${addressInfo.port}${baseURL};console.log(Listening on ${url}); }); trapUnhandledNodeErrors(); setupGracefulShutdown(listener, nitroApp); const nodeServer {};export { nodeServer as default }; //# sourceMappingURLindex.mjs.map代码修改完成后在server-project目录下执行 node ./server/index.mjs到这一步输入域名后网站就能正常访问了。 本次项目使用的是pm2部署那么就还需要在server-project目录下新建一个pm2的配置文件ecosystem.config.json也可以是ecosystem.config.js和logs文件夹这个按自己的部署需求配置就可以了我的配置如下 {apps: [{script: ./server/index.mjs,name: web,instances: 1,error_file: ./logs/err.log,out_file: ./logs/out.log,log_date_format: YYYY-MM-DD HH:mm:ss,log_type: json,ignore_watch: [node_modules, ssl, logs],port: 443}] }配置完成后执行 pm2 start ecosystem.config.json对于NITRO_HOST这个环境变量不建议设置让其自行分配除非是必须经过自己的实测如果设置了这个值比如127.0.0.1在服务器的浏览器上输入https://127.0.0.1,可以正常访问但在外网通过域名则不能访问。 这种方法也有弊端就是如果每打包一次就得按以上方法修改一次有些繁琐如果有更好的方案也欢迎大家多多推荐。
http://www.hkea.cn/news/14271158/

相关文章:

  • 网站建设官方网站怎么做旅游网站推广
  • 免费做网站的问题北京服务网
  • 做特色创意菜品的网站怎么制作自己的签名
  • wordpress添加新建标签页品牌seo是什么意思
  • 微网站 留言板wordpress 手机主题
  • 网站域名在山东备案却在苏州镇江市质监站网址
  • 常州网站推广公司哪家好网络营销模式案例
  • 买手机的网站开发一个电商网站
  • 在网站后台可以修改网页的内容大连网站建设公司领超科技怎么样
  • 青岛网上房地产网站做网站是需要多少钱
  • 桂林网站建设公司房地产网站案例
  • 在手机上编程的软件长春seo公司排名
  • 做网站一年要多少钱中国承德
  • 工业网站建设网站建设必须在服务器
  • 关于产品网站建设的问题服装网站建设效果
  • 天津专门做网站做网站用Linux还是win
  • win7电脑做网站自己做自己的私人网站
  • 做网站需要了解哪些知识整站优化费用
  • 龙岗网站建设公司怎样建立网站赚钱
  • 手表网站查询造纸公司网站建设
  • 葛洲坝机电建设有限公司网站搜索引擎 wordpress
  • 扬州将建设网站公司做网站会计分录
  • 婚纱网站排行40个超好玩的网页小游戏
  • 四川省住房和城乡建设厅网站发html 5网站欣赏
  • 珠海网站建设公司seo推广优化公司哪家好
  • 新乡网站seo上海企业建站提供商
  • 棋牌网站开发建企业网站哪家好
  • 网站建设的目标和需求建设网站需要些什么手续
  • 深圳外包网站制作公司深圳网站设计 公司价格
  • 有名的wordpress网站工商局加强网站建设的通知