首先我們需要搭建LNMP環境
這裡我使用的是lnmp.org的一鍵安裝包
安裝教程
環境搭建完畢後,接著部署laravel,期間遇到了很多坑,費了很大勁。最終不負所望,成功搭建。
首先把程式碼放在/home/wwwroot/
目錄中,接著我們就是要新增虛擬主機。
按照lnmp.org給出的教程
配置好之後,配置檔案是在/usr/local/nginx/conf/vhost
中
配置完成後 轉到網站目錄cd /home/wwwroot/
我們需要對網站目錄進行許可權設定chown www:www -R www.yangxuli.com
還需要給予storage目錄 以及storage裡的檔案許可權cd www.yangxuli.com
執行 chown -R 777 storage
chown -R 777 storage/*
因為LNMP預設是不允許跨目錄訪問的,所以需要將防跨目錄訪問的設定去掉
刪除的話rm -f /網站目錄/.user.ini
就可以。
修改完成後再執行:chattr +i /網站目錄/.user.ini
.user.ini
不需要重啟一般5分鐘左右生效,也可以重啟一下php-fpm
立即生效。
如果要更改網站目錄必須要按上述方法修改防跨目錄的設定,否則肯定報錯!!
LNMP 1.4上如果不想用防跨目錄或者修改.user.ini的防跨目錄的目錄還需要將/usr/local/nginx/conf/fastcgi.conf
裡面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
在該行行前新增 # 或刪除改行,需要重啟nginx。
如果還有錯誤的話,那我們需要檢視PHP程式碼日誌來排查問題
我們在 /usr/local/php/etc/php-fpm.conf
加上
php_admin_value[error_log] = /usr/local/php/var/log/php_errors.log
php_admin_flag[log_errors] = on
有時可能錯誤日誌檔案不自動建立,可以執行:touch /usr/local/php/var/log/php_errors.log && chown www:www /usr/local/php/var/log/php_errors.log
如果mysql忘記密碼,我們可以通過以下方式來解決
編輯mysql的配置檔案vim /etc/my.cnf
在[mysqld]下加上skip-grant-tables
重啟mysqlservice mysqld restart
登入mysqlmysql -u root
執行update mysql.user set authentication_string=PASSWORD('你的密碼') where User='root';
flush privileges;
然後把 /etc/my.cnf
裡的 skip-grant-tables
去掉
重啟mysql service mysqld restart
推薦使用
使用lnmp的重置root密碼工具
在lnmp安裝包目錄下有一個tools目錄進去目錄執行./reset_mysql_root_password.sh
為了安全LNMP預設是禁止遠端連線的,開啟遠端連結方法
登入mysqluse mysql;
update user set host = '%' where user = 'root';
接著退出mysql
檢視已有的iptables規則,以序號顯示iptables -L -n --line-numbers
刪除DROP 3306埠的規則iptables -D INPUT x
(x代表3306的序號)
至此,專案基本部署完畢,如有更多問題,歡迎回復討論。