1. 程式人生 > >ubuntu16.04下原始碼搭建lnmp開發環境並部署laravel專案到線上

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不是很熟悉,所以一路走下來還是踩了許多坑的,以後還要加強學習~~~~
如下圖