一、 環境與版本:
主機:amazon aws EC2主機
系統:Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-1039-aws x86_64)
面板:寶塔免費版 6.9.5
服務:Nginx 1.16, PHP 7.2, MySQL 5.7.22(運行在amazon的RDS上,沒通過寶塔面板安裝,本文討論內容不涉及數據庫)
程序:ThinkPHP 5.0.24
二、 部署過程
1. 在雲端開通並啟動主機,做一點點必要的升級和小配置(省略,找主機商網站)。
2. 登錄主機安裝寶塔面板(省略,找寶塔官網)。
3. 登錄寶塔面板,安裝運行環境:
我選擇的是LNMP環境,選擇nginx版本為1.16,PHP版本7.2,mysql不打勾,phpmyadmin不打勾,FTP正常打勾不管它,然后我習慣選擇“編譯安裝”,雖然安裝得慢但是運行會更流暢。
4. 在面板中創建網站:
配置好域名路徑等相關信息,同時開啟FTP,配置好登錄名和密碼,然后直接創建。
不能忘了對域名提前做好解析。
5. 上傳網站:
我通常都是在本地電腦把項目文件夾內的內容打包zip,然后通過FTP把zip上傳到服務器的網站根目錄。然后進入寶塔面板的文件管理模塊,找到壓縮包直接解壓。這樣的操作會節省很多上傳時間。
6. 在寶塔面板中對網站進行配置(關鍵):
登錄面板 - 網站 - 對應站點記錄后面的“設置”:
在打開的彈層中選擇網站目錄 - 運行目錄 - /public, 保存
不要關閉彈層,在偽靜態中寫入代碼:
location / { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 last; break; } }
到這里就可以關閉彈層,試着用解析好的域名去直接訪問了,如果仍然報錯,可以嘗試重啟一下站點和服務。
這樣就可以了。