LNMP 环境部署 Laravel 项目的一些总结

首先我们需要搭建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
重启mysql
service mysqld restart
登录mysql
mysql -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默认是禁止远程连接的,开启远程链接方法
登录mysql
use mysql;
update user set host = '%' where user = 'root';
接着退出mysql
查看已有的iptables规则,以序号显示
iptables -L -n --line-numbers
删除DROP 3306端口的规则
iptables -D INPUT x (x代表3306的序号)

至此,项目基本部署完毕,如有更多问题,欢迎回复讨论。