正好趁雙十一活動,阿里 ECS 打折優惠挺大的。買了 3 年的入門打算把我的 laravel 作業給交了(域名還沒買)。
基於上一篇記錄的部署環境:
https://learnku.com/articles/19585
這一篇就記錄程式碼上線了。
首先配置下 nginx 站點。
預設的 nginx 配置檔案路徑在 /etc/nginx/sites-available/ 下,複製預設配置檔案。
cp default sample.com
修改 sample.com 配置
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/sample.com;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
root 目錄路徑做相對修改,index 中加入 index.php,關聯執行的 php 。
sample.com 佔用 80 埠,所以把 default 配置裡的埠 80 改為 8000;
修改好後在目錄 /etc/nginx/sites-enabled/ 下做一個站點配置的軟連線
ln -s /etc/nginx/sites-available/sample.com sample.com
重新載入 nginx 配置
nginx -t #檢查配置正確性
service nginx reload
建立目錄 /var/www/sample.com 及 index.php 丟擲 phpinfo();訪問 IP 正常輸出。
Mysql 服務端已安裝好了,但本地想遠端連線檢視下。但客戶端 Navicat 始終連線不上。上網搜,有老哥遇到相同問題,逐步按照老哥的設定連線成功。感謝! https://blog.csdn.net/hohaizx/article/details/78370333
新環境中缺了好多工具:Git,Composer,NPM 都沒有。還好 apt 安裝比較方便。
Git 安裝
sudo apt install git
Composer 安裝
sudo apt install -y composer
Nodejs 安裝
sudo apt-get install nodejs
NPM 安裝
sudo apt install npm
切換 NPM 源為淘寶源
npm config set registry https://registry.npm.taobao.org
git 拉取程式碼到 /var/www/sample.com目錄。執行了一次
composer install
報錯了。缺少 php 擴充套件,mbstring,dom。
繼續裝!
sudo apt-get install php-mbstring
sudo apt-get install php7.2-dom
安裝好了在跑一次,還是報錯還缺少 zip 擴充套件。
繼續
sudo apt-get install php7.2-zip
在執行一次終於正常了。趕緊執行下 php artisan key:generate
成功。
之前的 sample.com Nginx配置目錄需要重新修改下,要指定到 public 入口資料夾下 並重新載入 nginx。
root /var/www/sample.com/public
service nginx reload
修改 storage 目錄為可寫許可權。
繼續報錯
PHP mysql擴充套件也沒有裝。
sudo apt-get update
sudo apt install php7.2-mysql
安裝順利,檢視 phpinfo()
擴充套件已經裝好。
繼續報錯
好吧,資料庫還沒建立。
建立好 sample 資料庫,做下資料表遷移:
php artisan migrate
在訪問,終於看到久違的介面了。點選相關頁面發現 404 了。nginx 配置還有問題。
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ =404;
try_files $uri /index.php?$query_string;
}
重啟 nginx
,頁面可以正常訪問了,在測試相關功能,註冊使用者時發現報錯,是註冊成功後傳送郵件,沒有配置 SMTP
,郵件驅動直接改為 log 。
使用者註冊,發微博功能到正常了,到這算是大功告成了。
附上作業地址:http://47.101.155.173/