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:WindowsSystem32driversetchosts添加一下记录
192.168.137.200 centlv.test.com

六、数据库

1、创建配置文件里的数据库,然后执行进行数据库迁移


七、部署过程中遇到的问题
1、
larave 5 could not be opened: failed to open stream: Permission denied

查了下说是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 IlluminateSupportFacadesSchema;

public function boot()
{
    Schema::defaultStringLength(191);
}
原文地址:https://www.cnblogs.com/ivy-zheng/p/11064338.html