laravel5.5部署
一、环境:
centos7 + apache2.6+mysql5.5+PHP7.2
确保php版本大于7.1,看帮助文档说是7就可以,但是我部署的时候提示要大于7.1,并且要装上必须的php扩展
PHP >= 7.0.0
PHP OpenSSL 扩展
PHP PDO 扩展
PHP Mbstring 扩展
PHP Tokenizer 扩展
PHP XML 扩展
二、我的项目在github上,所以在centos中,转到/var/www/,拉取项目
cd /var/www chmod 777 /var/www git clone https://github.com/yourName/yourProjects
三、Laravel使用Composer管理依赖,所以我们需要执行以下命令安装相关的扩展
cd /var/www/learnlaravel5 ---learnlaravel是我的项目目录 composer install
四、配置apache
(1)设置storage文件夹权限:
chmod -R 777 storage
chmod -R 777 bootstrap/cache
(2)生成.env文件
mv .env.example .env
(3)应用Key:
php artisan key:generate
(4)编辑.env文件
vi .env,配置如下
(5)编辑httpd.conf文件
vim /etc/httpd/conf/httpd.conf 把<Directory></Directory>里面的AllowOverride None 改为All 然后在IfModule dir_module里面加入index.php <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> 改完记得重启httpd服务
五、配置虚拟路径
(1)配置主机地址centlv.test.com的虚拟主机
#vim /etc/httpd/conf.d/vhosts.conf
<VirtualHost *:80>
DocumentRoot "/var/www/learnlaravel5/public"
ServerName centlv.test.com
ErrorLog "/var/log/lv-error_log"
CustomLog "/var/log/lv-access_log" common
</VirtualHost>
<Directory "/var/www/learnlaravel5/public">
AllowOverride All
Require all granted
</Directory>
(2)检查配置文件和重启服务
httpd -t
systemctl restart httpd
(3)修改windows的hosts文件
编辑:C:\Windows\System32\drivers\etc\hosts添加一下记录
192.168.137.200 centlv.test.com
六、数据库
1、创建配置文件里的数据库,然后执行进行数据库迁移
larave 5 could not be opened: failed to open stream: Permission denied
七、部署过程中遇到的问题
1、
查了下说是Selinux的问题,把Selinux关闭掉重启就好了。
查看Selinux状态:
/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
关闭SELinux:
(1)临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式 ##setenforce 1 设置SELinux 成为enforcing模式
(2)修改配置文件需要重启机器:
修改/etc/selinux/config 文件 将SELINUX=enforcing改为SELINUX=disabled 重启系统即可
2、Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes的解决方式
编辑 AppServiceProvider.php文件并在 boot方法内设置默认字符串长度: use Illuminate\Support\Facades\Schema; public function boot() { Schema::defaultStringLength(191); }