摘要:最近部署一個(gè)項(xiàng)目到阿里云上,因?yàn)轫?xiàng)目涉及一些跨域請(qǐng)求,所以采用了代理請(qǐng)求本地的服務(wù)利用做進(jìn)程管理。先交代下在阿里云里安裝的部署環(huán)境調(diào)試運(yùn)行大禮包,里面包含等,還能監(jiān)控端口占用情況服務(wù)進(jìn)程管理工具等等。不過目前只是實(shí)現(xiàn)構(gòu)建部署訪問。
最近部署一個(gè)Vue項(xiàng)目到阿里云ECS上,因?yàn)轫?xiàng)目涉及一些跨域請(qǐng)求,所以采用了Nginx代理請(qǐng)求本地的node服務(wù)(利用pm2做進(jìn)程管理)。node服務(wù)借助axios設(shè)置headers的referer、host轉(zhuǎn)發(fā)請(qǐng)求,解決跨域請(qǐng)求問題。
先交代下在阿里云ECS里安裝的部署環(huán)境:phpstudy(php調(diào)試運(yùn)行大禮包,里面包含nginx、mysql等,還能監(jiān)控端口占用情況)、pm2(node服務(wù)進(jìn)程管理工具)、node、git等等。
部署過程拉去GitHub項(xiàng)目代碼至root目錄下(找到安裝phpstudy的WWW目錄),構(gòu)建項(xiàng)目
修改nginx-conf的代理配置、root項(xiàng)配置(指向項(xiàng)目項(xiàng)目的dist目錄下)
啟動(dòng)pm2(項(xiàng)目中,事先已寫好服務(wù)端邏輯prod.server.js)
啟動(dòng)phpstudy
訪問項(xiàng)目
構(gòu)建項(xiàng)目構(gòu)建項(xiàng)目前,要修改項(xiàng)目confing目錄下的index.js,主要是build部分的端口、目錄,具體如下:
build: { port: 9001, // 因?yàn)槲沂怯肞HPStudy做web服務(wù)器的,此時(shí)php.cgi會(huì)占9000端口,所以改用9001 // Template for index.html index: path.resolve(__dirname, "../dist/index.html"), // Paths assetsRoot: path.resolve(__dirname, "../dist"), assetsSubDirectory: "static", assetsPublicPath: "", ....... }
主要有兩部分
修改端口,跟代理端口一致port: 9001修改assetsPublicPath
assetsPublicPath: ""nginx-conf配置
利用phpstudy,可以很方便的進(jìn)行nginx相關(guān)設(shè)置、host修改、端口監(jiān)控等等。先來說說nginx-conf的配置。
先找到nginx-conf配置入口 修改ngin-confupstream my_project { server 127.0.0.1:9001; keepalive 64; } server { listen 80; server_name my_project; #charset koi8-r; #access_log logs/host.access.log main; root "C:/phpStudy/PHPTutorial/WWW/project/dist"; location / { index index.php index.html index.htm; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_max_temp_file_size 0; proxy_pass http://my_project/; proxy_redirect off; proxy_read_timeout 240s; } }注意事項(xiàng) root配置,指向構(gòu)建后目錄
root "C:/phpStudy/PHPTutorial/WWW/project/dist";設(shè)置代理端口時(shí),避免端口占用!!
upstream my_project { server 127.0.0.1:9001; keepalive 64; }
開始部署時(shí),使用的是9000端口,一直運(yùn)行不起來,后面發(fā)現(xiàn)phpstudy啟動(dòng)是php-cgi.exe默認(rèn)就使用了9000端口。關(guān)于端口使用情況,phpstudy也提供了工具。
關(guān)于pm2的介紹、常規(guī)使用自行了解。在項(xiàng)目目錄下事先已經(jīng)寫好了轉(zhuǎn)發(fā)請(qǐng)求的邏輯。
pro.server.jsvar axios = require("axios") const bodyParser = require("body-parser") var config = require("./config/index") var express = require("express") var app = express() var apiRoutes = express.Router() apiRoutes.get("/api/getdata", function(req, res) { var url = "https://a.com" axios.get(url, { headers: { referer: "https://b.com", host: "b.com" }, params: req.query }).then((response) => { .... }).catch((e) => { console.log(e) }) }) app.use("/", apiRoutes) app.use(express.static("./dist")) var port = process.env.PORT || config.build.port module.exports = app.listen(port, function (err) { if (err) { console.log(err) return } console.log("Listening at http://localhost:" + port + " ") })
這里只是簡(jiǎn)單的借助axios可以設(shè)置referer和host,實(shí)現(xiàn)代理轉(zhuǎn)發(fā)的功能。
運(yùn)行prod.server.jsprod.server.js是在根目錄下,所以運(yùn)行命令如下:
pm2 start prod.server.js進(jìn)程列表:
pm2 start list查看進(jìn)程詳情
pm2 show 0總結(jié)
整個(gè)部署過程涉及比較多的知識(shí)點(diǎn),nginx代理,node開發(fā)部署,端口管理等等。在端口占用這個(gè)點(diǎn)上卡了一段時(shí)間。不過目前只是實(shí)現(xiàn)構(gòu)建部署、訪問。但維護(hù)成本還是比較高,先得從GitHub拉取代碼,本地構(gòu)建。項(xiàng)目完成以后,研究下持續(xù)性集成流程。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/40400.html
摘要:比如暴露端口,選擇,授權(quán)對(duì)象填,其他默認(rèn)就可以了。開啟性能平臺(tái),點(diǎn)擊創(chuàng)建新應(yīng)用按照操作提示來就行,成功開啟后在項(xiàng)目配置具體配置看下文就可以監(jiān)控?cái)?shù)據(jù)了。 建議不熟悉 linux 命令的小伙伴同時(shí)打開我的另一篇博客linux 常用操作 服務(wù)器購買&配置 打開阿里云,選擇購買云服務(wù)器 ECS,這里可以選擇一鍵購買進(jìn)行快速配置,操作系統(tǒng)選擇 CentOS 7.2 64 位,其他默認(rèn)或根據(jù)實(shí)...
摘要:部署到阿里云使用的阿里云服務(wù)器一,登錄對(duì)應(yīng)的服務(wù)器二,在服務(wù)器進(jìn)行對(duì)應(yīng)的初始化初始化數(shù)據(jù)庫直接執(zhí)行初始化命令,會(huì)彈出交互配置信息初次進(jìn)入密碼為空,直接回車輸入要為用戶設(shè)置的數(shù)據(jù)庫密碼。 vue+express部署到阿里云 使用的阿里云服務(wù)器CentOS 7.3 一,登錄對(duì)應(yīng)的服務(wù)器 showImg(https://segmentfault.com/img/bVbuwWc); 二,在服務(wù)...
摘要:前言本文講解的是做為前端開發(fā)人員,對(duì)服務(wù)器的了解還是小白的我,是如何一步步將項(xiàng)目部署在阿里云的服務(wù)器上,并進(jìn)行性能優(yōu)化,達(dá)到頁面秒內(nèi)看到,秒內(nèi)看到首屏內(nèi)容的。搭建的項(xiàng)目是采用了主流的前后端分離思想的,這里只講服務(wù)器環(huán)境搭建與性能優(yōu)化。 showImg(https://segmentfault.com/img/remote/1460000017143281); 前言 本文講解的是:做為前...
摘要:前言由于很多小伙伴私信我,關(guān)于阿里云部署應(yīng)用的問題,在這里具體詳細(xì)的介紹一下我的服務(wù)器版本是所需工具有遠(yuǎn)程倉庫的就不需要直接推到你的服務(wù)器步驟安裝配置配置啟動(dòng)一安裝配置安裝點(diǎn)擊地址二安裝點(diǎn)擊地址安裝完畢設(shè)置密碼導(dǎo)入你的文件三配置下載包,將 前言:由于很多小伙伴私信我,關(guān)于阿里云部署NUXT 應(yīng)用的問題,在這里具體詳細(xì)的介紹一下我的服務(wù)器版本是CentOS7~ 所需工具: Xftp5 ...
摘要:前言由于很多小伙伴私信我,關(guān)于阿里云部署應(yīng)用的問題,在這里具體詳細(xì)的介紹一下我的服務(wù)器版本是所需工具有遠(yuǎn)程倉庫的就不需要直接推到你的服務(wù)器步驟安裝配置配置啟動(dòng)一安裝配置安裝點(diǎn)擊地址二安裝點(diǎn)擊地址安裝完畢設(shè)置密碼導(dǎo)入你的文件三配置下載包,將 前言:由于很多小伙伴私信我,關(guān)于阿里云部署NUXT 應(yīng)用的問題,在這里具體詳細(xì)的介紹一下我的服務(wù)器版本是CentOS7~ 所需工具: Xftp5 ...
閱讀 1867·2021-10-09 09:44
閱讀 3395·2021-09-28 09:35
閱讀 1386·2021-09-01 10:31
閱讀 1676·2019-08-30 15:55
閱讀 2719·2019-08-30 15:54
閱讀 941·2019-08-29 17:07
閱讀 1388·2019-08-29 15:04
閱讀 2013·2019-08-26 13:56