ubuntu16.04下原始碼搭建lnmp開發環境並部署laravel專案到線上
之前都是使用lnmp安裝包來搭建線上環境,今天試試原始碼搭建環境,雖然之前搭建過一次,但許久不操作還是有點忘記了,好了,廢話不多說開始正題。
開始安裝前先執行sudo apt-get update更新一下軟體庫
我們先安裝nginx,執行sudo apt-get install nginx,安裝完了通過sudo service nginx start 來啟動nginx,然後可以通過systemctl status nginx.service來檢視nginx 的執行狀態,不出意外的話應該是可以看到綠色active(running)字樣的。或者curl http://你的ip 出現
就說明nginx安裝成功了。
下面安裝mysql
sudo apt-get install mysql-server mysql-client
中間需要你輸入root賬戶的密碼,按要求操作就可以了。
mysql服務的操作:
service mysql start | restart | stop(啟動|重啟|停止mysql服務)
/etc/init.d/mysql start
/etc/init.d/mysql restart
/etc/init.d/mysql stop
安裝PHP7.0及擴充套件(安裝其他版本的話也是一樣操作的,改一下版本就好了,根據大佬提示,ubuntu16最高只能安裝php7.0,不是什麼版本都可以,這裡注意了
sudo apt-get install php7.0-fpm php7.0-mysql php7.0-common php7.0-curl php7.0-cli php7.0-mcrypt php7.0-mbstring php7.0-dom
安裝好了之後配置一下php.ini
sudo vim /etc/php/7.0/fpm/php.ini
按/輸入cgi.fix_pathinfo尋找該值
解除註釋並把值設定為0
啟動一下:
sudo phpenmod mcrypt
sudo service php7.0-fpm restart
安裝完了之後可以建立一個php檔案然後通過php 檔名執行一下
到此我們就搭建好了環境
之後我們開啟/etc/nginx/nginx.conf看看,第一行不出意外的話是 user www-data(nginx預設是這個使用者)
再往下滑到http{}這個花括號裡面,可以發現在http這個裡面的最下面有兩行
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
這個的意思的conf.d資料夾下的.conf配置檔案以及site-enabled/下的檔案將會被引入這裡,簡單的說就是我們可以在conf.d資料夾以及site-enabled資料夾下配置我們的站點。一般我不會直接在nginx.conf裡面直接配置,我們轉到site-enabled資料夾下可以發現有一個default檔案,這個是nginx預設的配置,可以看到預設監聽的是80埠,路徑是 /var/www/html(剛剛我們安裝完nginx出現的那個歡迎頁面的原始碼就是在這裡)
好了,環境搭建好了我們就開始部署我們的laravel專案,先到/var/www下新建一個laravel資料夾(我的laravel專案是在我本地寫好了通過ftp傳到線上,ubuntu下搭建pure-ftpd請移步https://blog.csdn.net/asdlow/article/details/81667817),新建好資料夾之後轉到/etc/site-enabled下新建一個laravel檔案,然後sudo vim laravel編輯該檔案,寫入
server{
listen 80;
server_name 你的域名;
root /var/www/laravel/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include fastcgi.conf;
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
儲存退出,重啟nginx,然後瀏覽器輸入域名訪問,如果丟擲storage沒許可權的錯誤的話就轉到/storage/framework下看session檔案的使用者組是誰,我的是www-data,然後回到laravel資料夾下重置下該資料夾的使用者組
sudo chown -R www-data:www-data storage,這樣應該就可以了~~~
由於對linux不是很熟悉,所以一路走下來還是踩了許多坑的,以後還要加強學習~~~~
如下圖