centos php laravel,CentOS 7部署laravel

?

目录

LNMP环境安装

安装和配置 git

<1>安装 git

yum install git

查看版本号

git --version

<2>配置 git

//因为Git是分布式版本控制系统,所以,每个机器都必须自报家门

git config --global user.name "Your Name"

git config --global user.email "youremail@yourdomain.com"

//查看配置

git config -l

<3>生成密钥对

默认情况下,用户的 SSH 密钥存储在其?~/.ssh?目录下。 进入该目录并列出其中内容,你便可以快速确认自己是否已拥有密钥

我们需要寻找一对以?id_dsa?或?id_rsa?命名的文件,其中一个带有?.pub?扩展名。?.pub?文件是你的公钥,另一个则是私钥。 如果找不到这样的文件(或者根本没有?.ssh?目录),你可以通过运行?ssh-keygen程序来创建它们。

[root@instance-qj33vwh4 conf.d]# cd ~/.ssh

[root@instance-qj33vwh4 .ssh]# ls

authorized_keys

//输入ssh-keygen,ssh-keygen后会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。如果你不想在使用密钥时输入口令,将其留空即可

[root@instance-qj33vwh4 .ssh]# ls

authorized_keys id_rsa id_rsa.pub

密钥对生成后,将公钥?id_rsa.pub?的内容拷贝添加到你的 github 上

?

安装 Composer

cd /tmp

curl -sS https://getcomposer.org/installer | php

//让composer全局可用

mv composer.phar /usr/local/bin/composer

安装 redis

//安装epel源,安装完成之后就可以直接使用yum来安装额外的软件包

yum install epel-release

yum install redis -y

//启动redis服务

systemctl start redis.service

//redis服务加入开机启动

systemctl enable redis

//检查运行状态

systemctl status redis.service

//测试 redis

redis-cli ping

如输出 PONG,则表示 redis 已经可以连通

Laravel 项目安装

拉取 github 上的 Laravel 项目代码

cd /www/wwwroot

git clone 项目地址

安装依赖

cd project

composer install

安装过程中,如果缺少相关 php 扩展,会有报错。从报错信息中,将所有缺少的扩展记录下来,逐个安装。

如,缺少?pdo?扩展,则运行?yum -y install php72w-pdo,依此类推,安装 xxx 扩展,则运行?yum -y install php72w-xxx?。

安装后重启 nginx 和 php-fpm,依次运行:systemctl restart nginx?和?systemctl restart php-fpm

?

配置环境变量

在项目目录?下复制?.env.example?为?.env

?

生成 APP_KEY

php artisan key:generate

?

.env?配置

APP_NAME=你的APP名字

APP_ENV=production # 这里设为生成环境

APP_KEY=base64:前面生成的key不用改

APP_DEBUG=false # 关闭调试模式

APP_URL=你的主机地址

LOG_CHANNEL=stack

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=laravel

DB_USERNAME=root

DB_PASSWORD=你的数据库密码

BROADCAST_DRIVER=log

CACHE_DRIVER=redis # 这里使用redis

SESSION_DRIVER=file

SESSION_LIFETIME=120

QUEUE_DRIVER=redis # 这里使用redis

.

.

.

MAIL_DRIVER=smtp

MAIL_HOST=smtp.qq.com

MAIL_PORT=25

MAIL_USERNAME=你的QQ邮箱

MAIL_PASSWORD=你的smtp服务的密码

MAIL_ENCRYPTION=tls

MAIL_FROM_ADDRESS=你的邮箱地址

MAIL_FROM_NAME=你的APP名字

数据配置

数据库创建:

CREATE DATABASE laravel;

数据表迁移:

php artisan migrate

如出现这样的报错:could not find driver ...,可能缺少了 pdo_mysql 扩展,运行?yum -y install php72w-pdo_mysql?安装。安装后同样重启 nginx 和 php-fpm?

?

数据迁移:

通过mysqldump备份,传到服务器上,然后进行数据恢复

mysqldump -u root -p shop > all.sql

scp all.sql root@106.12.187.172:/home

mysql -uroot -p laravel

权限配置

<1>注意nginx.conf中user为nginx

<2>将laravel项目的权限设置为nginx

chown nginx:nginx -Rf 文件夹名

<3>修改php-fpm的用户及用户组,否则会出现?Permission denied错误(/etc/php-fpm.d/www.conf?)

更改user = apache与 group = pache 为 user = nginx group = nginx ,如下:

; RPM: apache Choosed to be able to access some dir as httpd

user = nginx

; RPM: Keep a group allowed to write in log dir.

group = nginx

?

Nginx 配置

在 /etc/nginx/conf.d 下面新建 laravel.conf配置文件,输入下列内容:

server {

listen 80;

server_name localhost;

//注意这里,否则找不到静态资源

root /www/wwwroot/laravel/public;

add_header X-Frame-Options "SAMEORIGIN";

add_header X-XSS-Protection "1; mode=block";

add_header X-Content-Type-Options "nosniff";

index index.php index.html index.htm;

charset utf-8;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

location = /favicon.ico { access_log off; log_not_found off; }

location = /robots.txt { access_log off; log_not_found off; }

error_page 404 /index.php;

location ~ \.php$ {

//项目的入口文件为public下的index.php

root /www/wwwroot/laravel/public;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

location ~ /\.(?!well-known).* {

deny all;

}

}

?

?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值