服务器部署Laravel

安装lnmp环境

参考:简书 - Centos 7 下安装LNMP官方最新版

安装redis

参考:简书 - Centos 7下使用yum安装redis

安装nodejs npm

nodejs分8.x和10.x,这里用10.x的,如果需要用8.x,就换成setup_8.x

curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
yum -y install nodejs npm

参考:Linuxhint - CentOS安装nodejs、npm

服务器运行Laravel

创建.env文件,并配置相关参数

1、创建.env文件(从模板.env.example文件复制来)

cp .env.example .env

2、配置参数

(1)默认文件中是没有app_key的,需要手动生成APP_KEY

php artisan key:generate

(2)生成后访问网站

遇到的问题

【1】、修改了虚拟主机配置文件后,重启nginxservice nginx restart的时候,报错:

Redirecting to /bin/systemctl restart nginx.service
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

原因: 配置文件末尾少了';'

操作:在缺少分号结尾的行尾加上分号

参考:
DigitalOcean - Can't start Nginx - Job for nginx.service failed

【2】、执行yum install时,返回yum except KeyboardInterrupt, e错误

原因: /usr/bin/yum执行程序是使用python命令进行执行的,由于之前操作,将python默认的2.7版本替换成了3.7,导致yum程序的语法不支持,继而报错。

参考: CSDN - yum except KeyboardInterrupt, e: 错误

【3】、加载好laravel项目后,执行composer install后报The Process class relies on proc_open, which is not available on your PHP installation.

原因php.ini文件配置中,禁用了proc_openproc_get_status等方法。

解决:vim /usr/local/php72/etc/php.ini,找到disable_functions,然后删除proc_openproc_get_status,然后再执行composer install。(如果执行后还有其他输出信息说方法disabled,同样的在相应位置删除即可)

参考:CSDN - Laravel安装报错

参考资料

1、OneinStack: LNMP环境镜像使用手册

2、Github: 线上服务器自动部署的webhooks

3、凹凸实验室: 使用Github的webhooks进行网站自动化部署

4、Linuxhint: CentOS安装nodejs、npm

你可能感兴趣的:(服务器部署Laravel)