Laravel5.6+CentOS7.6+Lnmp1.5+Vue6.9+Node10.15项目开发实录-01项目部署

系统环境,软件版本等

Laravel5.6,CentOS7.6,Lnmp1.5。
Lnmp安装的时候由于laravel项目要求安装了NGINX,MySQL5.7,PHP7.2,具体安装步骤参考lnmp.org官网。
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里新建一个crm.conf文件,内容编辑如下:

server
{
    listen 8080;
    server_name localhost;
    index index.html index.htm index.php;
    root  /home/wwwroot/crm/public;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ [^/]\.php(/|$) {
        include fastcgi_params;
        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
        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=false
APP_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 ^ index.php [L]

如果web服务器是Nginx,Nginx配置文件里一定要有如下条目:

location / {
    try_files $uri $uri/ /index.php?$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=要添加字段的表名

郑重声明:

1 本资源来源于互联网,资源的版权归资源原作者所持有,受《中华人民共和国著作权法》等相关法律保护。

2 由于无法和原作者取得联系,所以上传的部分资源无法先通过原作者的同意就分享给大家了,如本资源侵犯了您(原作者)的权益,请联系我们(微信号 xiaohaimei1989),我们会立马删除您的资源,并向您表达诚挚的歉意!

3 本站是一个公益型网站,分享资源的目的在于传播知识,分享知识,收取一点点打赏的辛苦费是用于网站的日常运营开支,并非用于商业用途。

4 本站资源只提供学习和参考研究使用,使用过后请在第一时间内删除。本站不承担资源被单位或个人商用带来的法律责任。

发表评论