koa項目創(chuàng)建,上傳服務器及nginx配置

安裝koa

 npm install koa --save

安裝koa2項目生成器并創(chuàng)建項目

*(當然如果初學者的話可以先自行搭建,不要用下面的插件)

npm install koa-generator -g
koa2 nodePractice

process.env

process對象是全局變量,它提供當前node.js的有關信息,以及控制當前node.js的有關進程。因為是全局變量,它對于node應用程序是始終可用的,無需require()。
既然process都是一個對象了,env自然是它的一個屬性,這個屬性返回包含用戶環(huán)境信息的對象。在終端輸入node后,在輸入process.env可以看到打印出來的信息。

  • 但是Windows 和mac 電腦上的設置是不一樣的,為了可以跨平臺的設置和使用環(huán)境變量,需要安裝cross-env

安裝cross-env

npm install --save-dev cross-env

可以在 package.json 中配置相關的端口和環(huán)境(port 3001 環(huán)境:local)

"scripts": {
    "start": "  cross-env  PORT=3001  ENV=local  node bin/www ",
    "dev": "./node_modules/.bin/nodemon bin/www",
    "prd": "cross-env  PORT=3001  ENV=pro  pm2 start bin/www",
   //(pm2 是一個帶有負載均衡功能的Node應用的進程管理器.當你要把你的獨立代碼利用全部的服務器上的所有CPU,并保證進程永遠都活著,0秒的重載, PM2是完美的)
    "test": "echo \"Error: no test specified\" && exit 1"
  },

通過scp相關命令將本地項目傳入服務器相關目錄

scp -r /Users/weiwang/nodepractice/* root@服務器ip:/root/nodeProject

但是這樣有一個弊端,無法篩選不想上傳的文件夾

通過下列方式重新上傳項目: ( --exclude= 剔除node_modules目錄 ,這個后邊一定要跟上項目路徑)

rsync -avP --exclude=node_modules/  項目本地地址   root@服務器ip:/root/node

啟動項目

npm run prd

配置nginx 反向代理

正常來說 nginx下就一個配置文件,nginx.conf , 如果所以的東西都放在這里管理起來不方便,我們可以在 conf.d 目錄下進行創(chuàng)建配置文件 node.conf,然后在nginx.conf 中的http 塊中加一句話就可以了:

include /etc/nginx/conf.d/*.conf;

node.conf 文件:

server {
    listen  9090;   //服務監(jiān)聽的端口
        server_name   不能為空 ; // 自己服務器域名
        ssl on;
        ssl_certificate /etc/nginx/1_wangcarl.com_bundle.crt;  // https ssl證書相關配置
        ssl_certificate_key /etc/nginx/2_wangcarl.com.key; // https ssl證書相關配置
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協議配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件配置
        ssl_prefer_server_ciphers on;

      location / {
            proxy_pass http://localhost:3001/; //本地項目監(jiān)聽的端口 反向配置
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
            proxy_ssl_session_reuse off;
            proxy_set_header Host $http_host;
            proxy_cache_bypass $http_upgrade;
            proxy_redirect off;

    }
}

reload nginx 服務器

nginx -s reload
  • 這里邊有一個坑:就是另起的一個配置文件一定要先配置根路徑 / 要不配置是不起作用的

最后 就可以通過訪問自己域名下的端口進行相關api 測試了

附pm2命令教程:pm2

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容