雲服務器
提供者
阿里雲
百度雲
新浪雲
騰訊雲
。。。
阿里雲服務器 ECS node環境搭建 流程
-
購買一個雲服務器
-
購買域名,進行備案 【 不做 】 || 雲服務器提供的 ip地址(公有)
-
選擇公共鏡像系統: Centos 64 7.x 【 linux 操作系統 】
-
自定義密碼
- 用戶名: root
- 密碼: xxxxxxxxxxxx
-
記錄自己的ip
- 公網 59.110.226.77 接口 項目地址
- 私網 172.17.91.93 起本地服務 localhost/主機IP
-
遠程連接
-
阿里雲服務器網頁自帶的 , 輸入遠程連接密碼 【 不推薦 】
-
git (推薦) gitbash 客戶端輸入一下命令( git連接遠程服務器 )
ssh root@公網IP
-
連接是如果報錯:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:AsIAPiYK8s+4gu6of4Xui8yjWCQ1lqltMow9iPvD85U. Please contact your system administrator. Add correct host key in /c/Users/Pc/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /c/Users/Pc/.ssh/known_hosts:1 ECDSA host key for 59.110.226.77 has changed and you have requested strict checking. Host key verification failed.
解決方案:
rm -rf ~/.ssh/known_hosts
-
-
----------------------------------------------------- 構建服務器環境 -----------------------------------------------------------------------
- 安裝node
如何從EPEL庫安裝Node.js
另一個有效且簡單的方法來安裝Node.js就是從官方庫。這同樣確保您可以訪問到EPEL庫,
你可以通過運行以下命令。
sudo yum install epel-release
現在可以使用yum命令安裝Node.js了。
sudo yum install nodejs
因爲在開發過程中我需要管理節點包,我還要安裝新公共管理的軟件包管理器,
使用以下命令。
sudo yum install npm
whereis node
-
配置安全組 【 因爲我們的項目有兩個: vue,React 這兩個項目需要兩個端口 】
- 端口範圍 1/60000
- 授權對象: 0.0.0.0/0
-
書寫代碼來測試一下 node 使用
- 先使用express簡單搭建一個服務器, 暴露幾個接口, 本地測試, 測試通過在去連接遠程
-
連接遠程服務器, 上傳本地代碼(本地文件) xftp 5
-
安裝時我們選擇 : 選擇第一個 : 商用 添加註冊碼: 101210-450789-147200
-
新建一個會話 連接遠程服務器
[外鏈圖片轉存失敗(img-uJQQDLEB-1564409917051)(E:\1902\07-雲服務器部署-項目上線\xftp5-會話創建.png)]
-
-
連接之後就可以看到我們 遠程服務器的根目錄 /root
-
創建一個目錄
-
將本地代碼傳輸到 遠程服務器目錄(不要上傳node_modules等文件)
-
在遠程服務器目錄 安裝依賴 npm i
-
啓動項目
11.添加負載均衡 pm2 https://www.cnblogs.com/lxg0/p/7771229.html 永久掛起服務
npm i pm2 -g 全局安裝pm2
pm2 start app.js 後臺掛起服務
pm2 list 查看後臺掛起所有服務
pm2 stop id 根據服務id 停止當前服務
pm2 delete id 根據服務 id 刪除當前服務
pm2 restart id 重啓服務
- 安裝 mongodb 數據庫 http://www.cnblogs.com/web424/p/6928992.html
- vim命令基本使用
- vim a.txt
- 先按鍵盤的 I
- 寫入內容 (shift + ins)
- 退出 先按 ESC 鍵
- 再打 : wq 會出即可保存並退出
- 注意點: 防火牆忽略
- vim命令基本使用
簡介
MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。他支持的數據結構非常鬆散,是類似json的bson格式,因此可以存儲比較複雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關係數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。
Packages包說明
MongoDB官方源中包含以下幾個依賴包:
mongodb-org: MongoDB元數據包,安裝時自動安裝下面四個組件包:
1.mongodb-org-server: 包含MongoDB守護進程和相關的配置和初始化腳本。
2.mongodb-org-mongos: 包含mongos的守護進程。
3.mongodb-org-shell: 包含mongo shell。
4.mongodb-org-tools: 包含MongoDB的工具: mongoimport, bsondump, mongodump, mongoexport, mongofiles, mongooplog, mongoperf, mongorestore, mongostat, and mongotop。
安裝步驟
1.配置MongoDB的yum源
創建yum源文件:
vim /etc/yum.repos.d/mongodb-org-3.4.repo
添加以下內容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
這裏可以修改 gpgcheck=0, 省去gpg驗證
安裝之前先更新所有包 :yum update (可選操作)
2.安裝MongoDB
安裝命令:
yum -y install mongodb-org
安裝完成後
查看mongo安裝位置 whereis mongod
查看修改配置文件 : vim /etc/mongod.conf
3.啓動MongoDB
啓動mongodb :systemctl start mongod.service
停止mongodb :systemctl stop mongod.service
查到mongodb的狀態:systemctl status mongod.service
4.外網訪問需要關閉防火牆:
5.設置開機啓動
6.啓動Mongo shell
查看數據庫:show dbs
7.設置mongodb遠程訪問:
重啓mongodb:systemctl restart mongod.service
本地數據庫同步遠程雲服務器數據庫
mongo 公網ip
$ mongo 59.110.226.77
-
nginx 靜態服務器 \ 反向代理
https://www.linuxidc.com/Linux/2016-09/134907.htm
爲什麼要使用nginx?
我們要通過靜態服務器才能將vue、react項目打包後的內容運行起來
但是會遇到兩個問題?
1. 路由404報錯 2. 反向代理出錯
所以我們選擇Nginx 【 前端的靜態服務器環境 】 反向代理問題
安裝所需環境
Nginx 是 C語言 開發,建議在 Linux 上運行,當然,也可以安裝 Windows 版本,本篇則使用 CentOS 7 作爲安裝環境。
一. gcc 安裝
安裝 nginx 需要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝:yum install gcc-c++
二. PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 兼容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。命令:yum install -y pcre pcre-devel
三. zlib 安裝
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。yum install -y zlib zlib-devel
四. OpenSSL 安裝
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程序供測試或其它目的使用。
nginx 不僅支持 http 協議,還支持 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。yum install -y openssl openssl-devel
官網下載
1.直接下載
.tar.gz
安裝包,地址:https://nginx.org/en/download.html2.使用
wget
命令下載(推薦)。wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
我下載的是1.10.1版本,這個是目前的穩定版。
解壓
依然是直接命令:
tar -zxvf nginx-1.10.1.tar.gz cd nginx-1.10.1
配置
其實在 nginx-1.10.1 版本中你就不需要去配置相關東西,默認就可以了。當然,如果你要自己配置目錄也是可以的。
1.使用默認配置./configure
2.自定義配置(不推薦)
+ ./configure \ --prefix=/usr/local/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --pid-path=/usr/local/nginx/conf/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi
注:將臨時文件目錄指定爲/var/temp/nginx,需要在/var下創建temp及nginx目錄
3.配置https支持的ssl模塊
./configure --prefix=/usr/local/nginx --with-http_ssl_module
編譯安裝
make make install
查找安裝路徑:
whereis nginx
啓動、停止nginx
cd /usr/local/nginx/sbin/ ./nginx ./nginx -s stop ./nginx -s quit ./nginx -s reload
./nginx -s quit
:此方式停止步驟是待nginx進程處理任務完畢進行停止。
./nginx -s stop
:此方式相當於先查出nginx進程id再使用kill命令強制殺掉進程。查詢nginx進程:
ps aux|grep nginx
重啓 nginx
1.先停止再啓動(推薦):
對 nginx 進行重啓相當於先停止再啓動,即先執行停止命令再執行啓動命令。如下:./nginx -s quit ./nginx
2.重新加載配置文件:
當 ngin x的配置文件 nginx.conf 修改後,要想讓配置生效需要重啓 nginx,使用-s reload
不用先停止 ngin x再啓動 nginx 即可將配置信息在 nginx 中生效,如下:
./nginx -s reload啓動成功後,在瀏覽器可以看到這樣的頁面:
開機自啓動
即在
rc.local
增加啓動代碼就可以了。vi /etc/rc.local
增加一行
/usr/local/nginx/sbin/nginx
設置執行權限:chmod 755 rc.local
到這裏,nginx就安裝完畢了,啓動、停止、重啓操作也都完成了,當然,你也可以添加爲系統服務,我這裏就不在演示了。
nginx配置問題解決
-
問題: 本地項目上傳之後, 路由重定向 跳轉 404 頁面
解決
在 /usr/local/nginx/conf/nginx.conf 中修改如下配置:
server { listen 10002; server_name localhost; location / { root zmh_react_project; try_files $uri /index.html; #解決路由重定向跳轉 404 頁面配置 index index.html; } }
-
問題: 本地配置的反向代理數據獲取不到,
解決
在 /usr/local/nginx/conf/nginx.conf 中修改如下配置:
server { listen 10002; server_name localhost; location / { root zmh_react_project; try_files $uri /index.html; #解決路由重定向跳轉 404 頁面配置 index index.html; } location /marketing { # 解決反向代理數據獲取不到 proxy_pass https://resource.smartisan.com/marketing; # 這個標識符有時候要加有時候不加 } location /product { proxy_pass https://www.smartisan.com/product; } }
-
問題: 多項目配置多個端口
解決: 在nginx配置文件中添加多個 server配置, 但是要注意 項目文件夾要和 nginx /html目錄同級
目錄應該如下: nginx html vue-project react-project
在 /usr/local/nginx/conf/nginx.conf 中修改如下配置:
server { #此2爲默認端口設置 listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root project_list; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } server { listen 10002; server_name localhost; location / { root zmh_react_project; try_files $uri /index.html; #解決路由重定向跳轉 404 頁面配置 index index.html; } location /marketing { # 解決反向代理數據獲取不到 proxy_pass https://resource.smartisan.com/marketing; } location /product { proxy_pass https://www.smartisan.com/product; } } server { listen 10001; server_name localhost; location / { root zmh_react_project; try_files $uri /index.html; #解決路由重定向跳轉 404 頁面配置 index index.html; } location /marketing { # 解決反向代理數據獲取不到 proxy_pass https://resource.smartisan.com/marketing; } location /product { proxy_pass https://www.smartisan.com/product; } }
-
問題: ssh連接遠程服務器異常
解決:
1. 保證 git 協議 中的公鑰和私鑰已配置 2. 配置完成之後重啓 示例 3. 以上都不行, 重裝鏡像
--------------------------------------分割線 --------------------------------------
Nginx負載均衡配置實戰 http://www.linuxidc.com/Linux/2014-12/110036.htm
CentOS 6.2實戰部署Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用Nginx搭建WEB服務器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基於Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服務器全過程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3下Nginx性能調優 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3下配置Nginx加載ngx_pagespeed模塊 http://www.linuxidc.com/Linux/2013-09/89657.htm
CentOS 6.4安裝配置Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
Nginx安裝配置使用詳細筆記 http://www.linuxidc.com/Linux/2014-07/104499.htm
Nginx日誌過濾 使用ngx_log_if不記錄特定日誌 http://www.linuxidc.com/Linux/2014-07/104686.htm
--------------------------------------分割線 --------------------------------------
-