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
重启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的序号)
至此,项目基本部署完毕,如有更多问题,欢迎回复讨论。
本作品采用《CC 协议》,转载必须注明作者和本文链接
跨目录的,哈哈我试过,你漏了还要开启什么disable_function的某些函数
@demon 那个是要执行composer update的时候开启 哈哈 忘写了
这内容好像在哪里见过哈哈哈
@Nick 操作步骤基本都一样啊 纯手打的