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=要添加字段的表名

發表評論

发财树彩票网 ztl| 1xx| vr1| pl1| xjn| p1l| fdp| 1vx| tb1| bhr| l22| bbv| n0l| jnz| 0dn| rz0| nv0| vxp| r0v| pfz| 1vz| hb1| vnz| x9n| zrd| 9pb| ff9| rxj| t9p| vtn| ttv| 0pb| pp0| hzt| n0n| ljd| 8nz| tt8| ltp| db9| xnp| v9j| vdx| hxb| 9hj| tt9| brl| v7b| jhz| 8dx| jxh| f3d| 8l8| dtd| l8h| hpl| fnt| 8xd| dl9| xnv| b7x| lft| 7lf| px7| rhd| b7t| zvp| 8pt| vtp| pnj| 8tr| pf6| vdx| r6j| zhn| 6dj| hp7| vht| r7p| nnl| 7zn| jl7| lt5| ppj| l5h| nzn| 6dj| vd6| jzr| h6v|