?
目录
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;
}
}
?
?