前言: 買了個阿里雲最低配的服務器,身為一名啥都不懂的前端工程師,打算對全世界say:'hello world!',咋整?
一、購買完成之后:
1、重置密碼:在阿里雲的管理后台中找到實例列表,完了重置一下密碼,說實話,光這一步我找了好久,截圖的話還得打碼,手懶不截了,你們自己慢慢找。
2、配置實例安全組:在實例列表中找到你需要配置的實例(我只有一個所以非常好找),點擊操作欄的《管理》按鍵,在左側找到本實例安全組,添加一個80端口的如方向安全組規則
如上圖。至此,阿里雲后台相關的配置就完成了。
二、連接虛擬機並配置nginx服務器代理:
1、連接虛擬機:我這邊用的是Xshell,你們可以自行選擇。這個的具體安裝方法百度很多,不在這個隨筆的表述范圍之內,連接虛擬機:
端口默認為22就可以了,主機就是你的外網ip,連接之后會問你用戶名和密碼,一般默認用戶名都是 root,密碼就是上面你重置時候設置的了。
2、安裝並配置nginx(除了配置部分,都是參考菜鳥教程上的nginx安裝配置,但是為了你們閱讀的流暢性,容許我做回我的本職工作:cv工程師):
系統平台:CentOS release 6.6 (Final) 64位。
① 安裝編譯工具及庫文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
② 首先安裝 PCRE:
[root@bogon src]# cd /usr/local/src/ [root@bogon src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
③ 解壓安裝包:
[root@bogon src]# tar zxvf pcre-8.35.tar.gz
④ 進入安裝包路徑
[root@bogon src]# cd pcre-8.35
⑤ 編譯安裝
[root@bogon pcre-8.35]# ./configure [root@bogon pcre-8.35]# make && make install
安裝Nginx
① 下載 Nginx
[root@bogon src]# cd /usr/local/src/ [root@bogon src]# wget http://nginx.org/download/nginx-1.6.2.tar.gz
② 解壓縮
[root@bogon src]# tar zxvf nginx-1.6.2.tar.gz
③ 進入安裝包目錄
[root@bogon src]# cd nginx-1.6.2
④ 編譯安裝
[root@bogon nginx-1.6.2]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 [root@bogon nginx-1.6.2]# make [root@bogon nginx-1.6.2]# make install
⑤ 查看nginx版本:
[root@bogon nginx-1.6.2]# /usr/local/webserver/nginx/sbin/nginx -v
(事實上1.6.2的nginx版本有點低了,我下載的是 1.16.1)
到此,nginx安裝完成。
Nginx 配置(重點)
① 配置nginx.conf ,將/usr/local/webserver/nginx/conf/nginx.conf替換為以下內容(使用 vi命令編輯, i 鍵進入編輯,esc鍵退出編輯,:wq 保存並退出。這些都是linux編輯文檔的常用命令,多練練就熟了)
編輯文檔我就不放文本內容了,直接給你們一張截圖,紅框部分是重點:
打碼的部分就是你的nginx要訪問的服務器端口和地址,端口之前我們配置的是80,地址就寫你的服務器的公網ip即可。
重點是 location部分,需要配置root用戶下的根目錄,即你將要放置靜態資源文件的地方,這里我將會將使用react-create-app打包出來的build文件夾全部放置在/usr/local/webServe/文件夾下,我的主入口文件是build文件夾下的index.html。
大家是否有注意到location作用域(原諒一個前端匱乏+不專業的用詞)第三行:try_files $uri /index.html
前面我們提到,我的應用是一個單頁面應用,且我使用了react historyRouter ,那么這一句的作用就是將所有的請求轉到 index.html 文件中,然后呢?然后react會幫我們處理,加載不同的js以區分不同的路由頁面。
② 檢查nginx配置是否正確:
[root@bogon conf]# /usr/local/webserver/nginx/sbin/nginx -t
③ 啟 動 Nginx:
[root@bogon conf]# /usr/local/webserver/nginx/sbin/nginx
額外的一個命令,當以后再次修改nginx配置的時候,你需要重啟nginx服務:進入nginx下的sbin目錄,運行
./nginx -s reload