1. 程式人生 > >零基礎個人建站——混合模式開發之專案上線那些坑 、終結

零基礎個人建站——混合模式開發之專案上線那些坑 、終結

最後說一下反向代理和域名解析。

 

        首先說一下神魔叫反向反向代理,,你可以理解為系統的自我保護機制吧~~對外只開放一個埠,,然後電腦上的服務通過對映給代理伺服器在通過外網訪問。。是不是很拗口。

其實也很好理解 就說現在我們只訪問一個埠就行了。。如果電腦上開服務就對映給那個埠的服務。。

現在linux做反向代理一般都用nginx伺服器  這裡我們也用nginx  

這裡推薦一種無腦安裝LNMPA

   LNMPA是什麼?
也許大家對LAMP、LNMP比較熟悉,LAMP代表Linux下Apache、MySQL、PHP這種網站伺服器架構;LNMP代表的是Linux下Nginx、MySQL、PHP這種網站伺服器架構。LNMPA代表的是Linux下Nginx、MySQL、PHP、Apache這種網站伺服器架構,是結合LAMP與LNMP各自的優點而產生的新的網站伺服器架構。

   我們為什麼採用LNMPA這種架構?
採用Linux、PHP、MySQL的優點我們不必多說。
Nginx是一個小巧而高效的Linux下的Web伺服器軟體,與Apache相比,消耗資源更少,支援的併發連線,更高的效率,反向代理功能效率高、靜態檔案處理快等。
Apache是一款老牌的Web伺服器軟體,在高併發時對佇列的處理比FastCGI更成熟,Apache的mod_php效率比php-cgi更高且更穩定、對偽靜態支援好,不需要轉換、多使用者多站點許可權等方面有著更好的效果……

在這之前先去阿里的域名解析中心解析一下自己的域名,,

這個我就不一一詳述了  阿里雲官網說的很清楚~~~~

然後如何安裝?將會是是一段痛苦的經理(加油吧~騷年)

下載並安裝LNMP一鍵安裝包:

      您可以選擇使用下載版(推薦國外或者美國VPS使用)或者完整版(推薦國內VPS使用),兩者沒什麼區別,只是完整版把一些需要的原始碼檔案預先放到安裝包裡。

安裝LNMP執行:

wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full && ./install.sh lnmp


如需要安裝LNMPA或LAMP,將./install.sh 後面的引數替換為lnmpa或lamp即可。

按上述命令執行後,會出現如下提示:

需要設定MySQL的root密碼(不輸入直接回車將會設定為root),輸入後回車進入下一步,如下圖所示:

這裡需要確認是否啟用MySQL InnoDB,如果不確定是否啟用可以輸入 y ,輸入 y 表示啟用,輸入 n 表示不啟用。預設為y 啟用,輸入後回車進入下一步,選擇MySQL版本:

輸入MySQL或MariaDB版本的序號,回車進入下一步,選擇PHP版本:

輸入PHP版本的序號,回車進入下一步,選擇是否安裝記憶體優化:

可以選擇不安裝、Jemalloc或TCmalloc,輸入對應序號回車。

如果是LNMPA或LAMP的話還需要設定管理員郵箱

再選擇Apache版本

提示"Press any key to install...or Press Ctrl+c to cancel"後,按回車鍵確認開始安裝。
LNMP指令碼就會自動安裝編譯Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer這幾個軟體。

安裝時間可能會幾十分鐘到幾個小時不等,主要是機器的配置網速等原因會造成影響。

3、安裝完成
如果顯示Nginx: OK,MySQL: OK,PHP: OK

並且Nginx、MySQL、PHP都是running,80和3306埠都存在,並Install lnmp V1.2 completed! enjoy it.的話,說明已經安裝成功。

4、安裝失敗

如果出現類似上圖的提示,則表明安裝失敗,說明沒有安裝成功!!需要用winscp或其他類似工具,將/root目錄下面的lnmp-install.log下載下來,到LNMP支援論壇發帖註明你的系統發行版名稱及版本號、32位還是64位等資訊,並將lnmp-install.log壓縮以附件形式上傳到論壇,我們會通過日誌查詢錯誤,並給予相應的解決方法。

 

5、新增、刪除虛擬主機及偽靜態管理

一般情況下每個虛擬主機就是一個網站,網站一般通過域名進行訪問。
LNMP 1.2的網站新增過程和LNMP 1.1的基本類似,但是增加了FTP和資料庫的建立。LNMP1.2的防跨目錄也由原來在php.ini中設定移至網站根目錄下的.user.ini 進行控制
LNMP 1.1及之前的版本採用/root/vhost.sh 進行新增虛擬主機。

LNMP 1.2開始使用lnmp命令進行管理,具體可以參看更新記錄
虛擬主機管理基本命令介紹:lnmp vhost {add|list|del}

##新增網站(虛擬主機)##

 執行:lnmp vhost add 出現如下介面:


這裡要輸入要新增網站的域名,我們已新增www.vpser.net域名為例,如上圖提示後輸入域名 www.vpser.net 回車後提示

這裡詢問是否新增更多域名,輸入 y 回車後新增,如不新增輸入 n 會有如下提示:

如果需要新增更多域名或加上 vpser.net ,輸入後回車確認。

(注:帶www和不帶www的是不同的域名,如需帶www和不帶的www的域名都訪問同一個網站需要同時都繫結)。

下面需要設定網站的目錄,網站目錄不存在的話會建立目錄。也可以輸入已經存在的目錄或要設定的目錄(注意如要輸入必須是全路徑即以/開頭的完整路徑!!!)。不輸入直接回車的話,採用預設目錄:/home/wwwroot/域名

偽靜態可以使URL更加簡潔也利於SEO,如程式支援並且需要設定偽靜態的話,如啟用輸入 y ,不啟用輸入 n 回車。

預設已經有了discuz、discuzx、discuzx2(Discuz X二級目錄)、wordpress、wp2(WordPress二級目錄)、typecho、typecho2(Typecho二級目錄)、sablog、emlog、dabr、phpwind、、dedecms、drupal、ecshop、shopex等常用的Nginx偽靜態配置檔案,可以直接輸入名稱進行使用,如果是二級目錄則需要對應配置檔案裡的二級目錄的名稱。


這一步是設定日誌,如啟用日誌輸入 y ,不啟用輸入 n 回車。

再輸入要設定的日誌的名稱,預設目錄為:/home/wwwlogs/ 預設檔名為:域名.log 回車確認後,會詢問是否新增資料庫和資料庫使用者。


如果需要啟用輸入 y ,不啟用輸入 n 回車。

需要驗證MySQL的root密碼
提示Enter database name: 後輸入要建立的資料庫名稱,要建立的資料庫使用者名稱會和資料庫同名,回車確認。

提示Please enter password for mysql user 資料庫名: 後輸入要設定的密碼,回車確認。

如果安裝了FTP伺服器會詢問是否新增FTP賬號

如果需要新增輸入 y ,不新增輸入 n 回車。

提示Enter ftp account name: 後輸入要建立的FTP賬號名稱,回車確認。

提示Enter password for ftp account FTP賬號: 後輸入要設定的密碼,回車確認。

提示 Press any key to start create virtul host... 後,回車確認便會開始建立虛擬主機。

新增成功會提示新增的域名、目錄、偽靜態、日誌、資料庫、FTP等相關資訊,如下圖:

##偽靜態管理##

LNMPA或LAMP可以直接使用網站根目錄下放.htaccess 來設定偽靜態規則(具體規則可以去程式官網網站找google百度),但是在LNMP下,需要使用Nginx偽靜態規則。
偽靜態可以隨時新增或刪除,如果新增完虛擬主機後忘記或沒有新增偽靜態,可以通過修改配置檔案來新增偽靜態。
虛擬主機配置檔案在:/usr/local/nginx/conf/vhost/域名.conf

偽靜態規則檔案需要放在/usr/local/nginx/conf/ 下面。
編輯虛擬主機配置檔案,可以使用vinanowinscp,後2個工具對新手來說簡單些。

例如前面我們新增的虛擬主機,開啟後前半部分配置會顯示如下:

在root /home/wwwroot/www.vpser.net;這一行下面新增:
include wordpress.conf;
上面的wordpress.conf為偽靜態檔案,如需要其他偽靜態檔案自己建立個並上傳到/usr/local/nginx/conf/ 下面並include 偽靜態.conf; 加完儲存,執行:/etc/init.d/nginx restart 重啟生效,如果報錯可能是新增有誤或偽靜態規則有誤。

##上傳網站程式##

如果已經安裝FTP伺服器可以直接使用ftp客戶端通過你的FTP資訊登入後上傳網站或sftp等軟體上傳網站,設定好相關許可權開始安裝即可。
上傳網站後建議執行:chown www:www -R /path/to/dir 對網站目錄進行許可權設定,/path/to/dir替換為你網站目錄。
為了安全可以將一些不需要PHP執行的上傳檔案之類的目錄去掉執行許可權,參考:http://www.vpser.net/security/lnmp-remove-nginx-php-execute.html

##列出網站(虛擬主機)##

執行:lnmp vhost list

##刪除網站(虛擬主機)##

執行:lnmp vhost del

刪除網站會先列出當前已有虛擬主機,按提示輸入要刪除的虛擬主機域名 回車確認。

 

最後一步 啟動  然後我們就可以通過自己的域名訪問自己的網站了。。。哈哈是不是很開心~~

人生沒有白走的路,每一部都算數~~~最後附上自己的專案地址~~還有Git

 喜歡的朋友多多交流~~~~~~

Git:https://github.com/Suckson/2048game

Suckson:

  個人播放器:https://music.suckson.cn/#/recommend

   個人部落格:https://suckson.cn/