美文网首页
2018-08-15:部署本地laravel项目

2018-08-15:部署本地laravel项目

作者: EVANIMARIA | 来源:发表于2018-08-16 16:30 被阅读0次

    为了不影响主机运作,新建了一个docker容器安装
    命令:
    docker run -it -v /docker:/docker -p 8080:80 --name=laravel_1 daocloud.io/library/ubuntu:latest /bin/bash
    然后安装git
    一开始用的是12.10的镜像,后来发现apt-get的时候总是404,查了一下发现是因为12已经不再提供更新了。ubuntu虽说是开源系统,版本更迭带来的兼容性问题比windows还大的感觉。总之是换了latest的后就没有问题了
    apt-get install git,一切顺利
    顺带一提这镜像没安装sudo,apt-get一个就是


    然后装php,apt-get install php7.0,中间会出现选择地区和时区,我分别选择了亚太/上海。装好后输入php -v查看版本即可检查是否安装成功


    然后装mysql,apt-get install mysql-server mysql-client,中途貌似出现了一些unable,但是没有影响。接下来service mysql start即可。按照之前的经验在安装的时候应该有叫设定账户密码啥的,而且服务名应该是mysqld,不清楚什么情况,反正能用


    然后装nginx。sudo apt-get install nginx。但是似乎没成功,切换出去看看Ctrl+P+Qnetstat -ap | grep 8080,有点奇怪,切回来docker exec -it laravel_1 /bin/bash,发现没安装netstat,apt-get install net-tools(没错netstat包是找不到的,要安装net-tools),一番折腾发现毫无问题,然后百度了一下,发现可能是自己阿里云的安全配置问题,赶紧打开阿里云控制台加上了8080的安全组规则,搞定


    有点问题,nginx没配置好php支持
    nginx只是分发服务到php-fpm中让其启动php,故需要安装php-fpm并使nginx支持它
    于是按照教程更改配置文件
    原理
    教程
    sudo vim /etc/nginx/sites-available/default进入配置文件,修改前最好进行备份
    修改完如图

    cgi.PNG
    当然,我随后就为我的粗心付出了代价——nginx无法启动。图中有两处错误,一是最后一项忘记了加分号,一处是最后一项应为fastcgi_params。当出现nginx无法启动时,可以通过nginx -t检查配置文件的正确性
    在这之后访问我的主机ip:8080便成功进入了nginx的欢迎页面,说明启动成功

    为了验证php是否安装成功,我上传了一个info.php,里面是phpinfo函数。然而当我输入网址时,却出现了502的错误标识
    发现502,自然会想是后端宕机了。检查php文件无异常,于是怀疑nginx依然没有配置好
    检查nginx错误日志。nginx错误日志的地址在nginx.conf中有,而如何找到nginx.conf可以使用find命令find / -name nginx.conf
    查看错误日志发现如下错误

    502.PNG
    复制其到百度查询,发现两种解决方案
    解决方案一
    解决方案二
    无论是哪种解决方案,都指向同一个问题——php-fpm依然没有配置好
    于是查询我的电脑里fpm是否正常运作,我选择通过查阅端口占用的方式——fpm默认监听9000端口。运行命令netstat -ap | grep fpm,结果空无一物,说明我的电脑里压根没有fpm
    再看上面的教程,才发现虽然都说php后面的版本默认在核心处带有fpm,实际上需要自己安装。于是我为了从头再来打算卸载php,教程。我使用了这句命令
    sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
    
    

    卸载后,apt-get install php,然后apt-get install php7.2-fpm安装过程中出现了一句错误提示ubuntu php7 You are seeing this message because you have apache2 package installed.,为此需要卸载掉我的容器内莫名其妙出现的apache包,参考这里,使用以下命令即可完全卸载

    sudo apt-get purge apache2
    sudo apt autoremove
    sudo apt autoclean
    

    搞定之后,查看服务service --status -all,发现fpm并没有启动,手动启动即可service php7.2-fpm start
    然后我按照上面说的教程二修改了www.conf文件(同样可以使用find命令查找),打不开的看图

    stackoverflow.PNG
    修改后,我如愿看到了phpinfo的页面,搞定

    随后修改root
    成功进入laravel首页
    出现500
    检查artisan
    出现pdo
    有些其他的ddl到了,之后再回来更新

    相关文章

      网友评论

          本文标题:2018-08-15:部署本地laravel项目

          本文链接:https://www.haomeiwen.com/subject/khtgbftx.html