摘要:最近部署一個項目到阿里云上,因為項目涉及一些跨域請求,所以采用了代理請求本地的服務(wù)利用做進程管理。先交代下在阿里云里安裝的部署環(huán)境調(diào)試運行大禮包,里面包含等,還能監(jiān)控端口占用情況服務(wù)進程管理工具等等。不過目前只是實現(xiàn)構(gòu)建部署訪問。
最近部署一個Vue項目到阿里云ECS上,因為項目涉及一些跨域請求,所以采用了Nginx代理請求本地的node服務(wù)(利用pm2做進程管理)。node服務(wù)借助axios設(shè)置headers的referer、host轉(zhuǎn)發(fā)請求,解決跨域請求問題。
先交代下在阿里云ECS里安裝的部署環(huán)境:phpstudy(php調(diào)試運行大禮包,里面包含nginx、mysql等,還能監(jiān)控端口占用情況)、pm2(node服務(wù)進程管理工具)、node、git等等。
部署過程拉去GitHub項目代碼至root目錄下(找到安裝phpstudy的WWW目錄),構(gòu)建項目
修改nginx-conf的代理配置、root項配置(指向項目項目的dist目錄下)
啟動pm2(項目中,事先已寫好服務(wù)端邏輯prod.server.js)
啟動phpstudy
訪問項目
構(gòu)建項目構(gòu)建項目前,要修改項目confing目錄下的index.js,主要是build部分的端口、目錄,具體如下:
build: { port: 9001, // 因為我是用PHPStudy做web服務(wù)器的,此時php.cgi會占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,可以很方便的進行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; } }注意事項 root配置,指向構(gòu)建后目錄
root "C:/phpStudy/PHPTutorial/WWW/project/dist";設(shè)置代理端口時,避免端口占用!!
upstream my_project { server 127.0.0.1:9001; keepalive 64; }
開始部署時,使用的是9000端口,一直運行不起來,后面發(fā)現(xiàn)phpstudy啟動是php-cgi.exe默認就使用了9000端口。關(guān)于端口使用情況,phpstudy也提供了工具。
關(guān)于pm2的介紹、常規(guī)使用自行了解。在項目目錄下事先已經(jīng)寫好了轉(zhuǎn)發(fā)請求的邏輯。
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 + " ") })
這里只是簡單的借助axios可以設(shè)置referer和host,實現(xiàn)代理轉(zhuǎn)發(fā)的功能。
運行prod.server.jsprod.server.js是在根目錄下,所以運行命令如下:
pm2 start prod.server.js進程列表:
pm2 start list查看進程詳情
pm2 show 0總結(jié)
整個部署過程涉及比較多的知識點,nginx代理,node開發(fā)部署,端口管理等等。在端口占用這個點上卡了一段時間。不過目前只是實現(xiàn)構(gòu)建部署、訪問。但維護成本還是比較高,先得從GitHub拉取代碼,本地構(gòu)建。項目完成以后,研究下持續(xù)性集成流程。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/40400.html
摘要:比如暴露端口,選擇,授權(quán)對象填,其他默認就可以了。開啟性能平臺,點擊創(chuàng)建新應(yīng)用按照操作提示來就行,成功開啟后在項目配置具體配置看下文就可以監(jiān)控數(shù)據(jù)了。 建議不熟悉 linux 命令的小伙伴同時打開我的另一篇博客linux 常用操作 服務(wù)器購買&配置 打開阿里云,選擇購買云服務(wù)器 ECS,這里可以選擇一鍵購買進行快速配置,操作系統(tǒng)選擇 CentOS 7.2 64 位,其他默認或根據(jù)實...
摘要:部署到阿里云使用的阿里云服務(wù)器一,登錄對應(yīng)的服務(wù)器二,在服務(wù)器進行對應(yīng)的初始化初始化數(shù)據(jù)庫直接執(zhí)行初始化命令,會彈出交互配置信息初次進入密碼為空,直接回車輸入要為用戶設(shè)置的數(shù)據(jù)庫密碼。 vue+express部署到阿里云 使用的阿里云服務(wù)器CentOS 7.3 一,登錄對應(yīng)的服務(wù)器 showImg(https://segmentfault.com/img/bVbuwWc); 二,在服務(wù)...
摘要:前言本文講解的是做為前端開發(fā)人員,對服務(wù)器的了解還是小白的我,是如何一步步將項目部署在阿里云的服務(wù)器上,并進行性能優(yōu)化,達到頁面秒內(nèi)看到,秒內(nèi)看到首屏內(nèi)容的。搭建的項目是采用了主流的前后端分離思想的,這里只講服務(wù)器環(huán)境搭建與性能優(yōu)化。 showImg(https://segmentfault.com/img/remote/1460000017143281); 前言 本文講解的是:做為前...
摘要:前言由于很多小伙伴私信我,關(guān)于阿里云部署應(yīng)用的問題,在這里具體詳細的介紹一下我的服務(wù)器版本是所需工具有遠程倉庫的就不需要直接推到你的服務(wù)器步驟安裝配置配置啟動一安裝配置安裝點擊地址二安裝點擊地址安裝完畢設(shè)置密碼導(dǎo)入你的文件三配置下載包,將 前言:由于很多小伙伴私信我,關(guān)于阿里云部署NUXT 應(yīng)用的問題,在這里具體詳細的介紹一下我的服務(wù)器版本是CentOS7~ 所需工具: Xftp5 ...
摘要:前言由于很多小伙伴私信我,關(guān)于阿里云部署應(yīng)用的問題,在這里具體詳細的介紹一下我的服務(wù)器版本是所需工具有遠程倉庫的就不需要直接推到你的服務(wù)器步驟安裝配置配置啟動一安裝配置安裝點擊地址二安裝點擊地址安裝完畢設(shè)置密碼導(dǎo)入你的文件三配置下載包,將 前言:由于很多小伙伴私信我,關(guān)于阿里云部署NUXT 應(yīng)用的問題,在這里具體詳細的介紹一下我的服務(wù)器版本是CentOS7~ 所需工具: Xftp5 ...
閱讀 1818·2021-10-09 09:44
閱讀 3387·2021-09-28 09:35
閱讀 1374·2021-09-01 10:31
閱讀 1661·2019-08-30 15:55
閱讀 2705·2019-08-30 15:54
閱讀 930·2019-08-29 17:07
閱讀 1376·2019-08-29 15:04
閱讀 2004·2019-08-26 13:56