Laravel5.6+CentOS7.6+Lnmp1.5+Vue6.9+Node10.15项目开发实录
系统环境,软件版本等
,,。
Lnmp安装的时候由于laravel项目要求安装了NGINX,,,具体安装步骤参考官网。
Composer默认安装了,如果没有,可以使用如下方法:
cd /tmp curl -sS https://getcomposer.org/installer | php
使用全局命令可用如下方法:
composer sudo mv composer.phar /usr/local/bin/composer
由于和谐的原因,换一下镜像:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
Lnmp默认没有安装Redis,可以参考Redis安装安装一下。
项目安装步骤
1,下载LARAVEL项目源码,源码是一个“响应式企业自由职业者crm基于laravel框架php源码下载”,并复制源码到你的网站www目录下,比如/home/wwwroot/crm
2,Nginx配置,在/usr/local/nginx/conf/vhost里新建一个文件,内容编辑如下:
server
{
listen 8080;
server_name localhost;
index index.html index.htm ;
root /home/wwwroot/crm/public;
location / {
try_files $uri $uri/ /$query_string;
}
location ~ [^/]\.php(/|$) {
include fastcgi_params;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index ;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
2,项目文档权限:使用如下命令:
sudo chown -R www:www /home/wwwroot/crm sudo chmod -R 775 /home/wwwroot/crm/storage sudo chmod -R 775 /home/wwwroot/crm/bootstrap/cache
3,配置项目.env配置文件:如下绿色是需要修改项目,注意填写你自己的数据:
APP_NAME=BSCRM
APP_ENV=production
APP_KEY=base64:JJApzgaAiigyAdn0lErEX7Yd2Ej9v9fCDen7raRMU5g=
APP_DEBUG=falseAPP_URL=http://localhost:8080
APP_LOCALE=en
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=crm
DB_USERNAME=root
DB_PASSWORD=bspw@2019
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=25
MAIL_USERNAME=2850852165@qq.com
MAIL_PASSWORD=xzg@007
MAIL_ENCRYPTION=BSCRM
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
4,运行安装
php artisan flow:install
此命令将运行php artisan key:generate,php artisan migrate。
如果是新项目安装(没有源码),可以使用如下方式:
- 在你的空项目文档/home/wwwroot/newproject目录下运行命令composer install
- 完成后运行php artisan key:generate生成密钥
- 命令php artisan migrate迁移数据库
- 命令php artisan up上线
5,计划任务
crontab -e * * * * * php /home/wwwroot/crm/artisan schedule:run >> /dev/null 2>&1
常见问题
1,页面空白,500,404错误,这一般都是nginx配置错误导致的,如URL重写,修复此bug可以参考如下:
如果web服务器是Apache在/home/wwwroot/crm/public/下新建.htaccess文件,编辑如下:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ [L]
如果web服务器是Nginx,Nginx配置文件里一定要有如下条目:
location / {
try_files $uri $uri/ /$query_string;
}
2,CentOS7启动后网络异常,发现没有/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,只有ifcfg-lo配置文件,不用担心,有的话配置eth0文件即可,没有配置lo配置文件即可,注意修改如下:ONBOOT=no为ONBOOT=yes
3,更改配置后注意重启 nginx 和 php-fpm
4,更多参考:laravel php artisan 数据库操作
1. 利用php artisan 对mysql基本操作
(1).使用Artisan命令make:migration来创建一个新的迁移:
eg: php artisan make:migration create_users_table
(2).运行迁移
eg: php artisan migrate
强行迁移 : php artisan migrate --force
(3).回滚迁移
想要回滚最新的一次迁移”操作“,可以使用rollback命令,注意这将会回滚最后一批运行的迁移,可能包含多个迁移文件:
php artisan migrate:rollback
migrate:reset命令将会回滚所有的应用迁移:
(4).在单个命令中回滚/迁移
php artisan migrate:refresh
//结构数据同时迁移
php artisan migrate:refresh --seed
(5).重命名/删除表
重命名:$from 原表名 || $to 新表名
Schema::rename($from, $to);
删除表:$table 表名
Schema::drop($table);
Schema::dropIfExists($table);
(6).创建列/及其列修改
使用Schema门面上的table方法
eg: Schema::table('users', function ($table) {
$table->string('email'); //创建列
$table->string('description')->nullable()->after('title'); //指定添加位置
$table->drop.$indexName($filedName); //删除索引
$table->foreign('user_id')->references('id')->on('users'); //外键约束
$table->dropForeign('posts_user_id_foreign'); //删除外键
" 注意:删除指定的列。请记住任何与该列关联的索引也将被删除。";
$table->dropColumn('email'); //删除列
$table->dropColumn('email', 'avatar', 'location'); //删除多列
$table->string('email', 50)->nullable()->change(); //修改属性
" 注意:enum类型的列的重命名暂不支持。";
$table->renameColumn('email', 'emails'); //重命名列
});
(7).清除表时先忽略外键约束
DB::statement('SET FOREIGN_KEY_CHECKS=0;');
App\User::truncate();
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
(8).删除枢纽表的关联数据使用detach
eg: User::find(1)->roles()->detach();
//添加字段名
(9). php artisan make:migration add_要添加的字段名_to_要添加字段的表名_table --table=要添加字段的表名
//修改字段名
(10). 修改原有字段属性 php artisan make:migration change_要修改的字段名_on_要修改字段的表名_table --table=要添加字段的表名。




