Laravel 部署到阿里雲 / 騰訊雲

SadCreeper發表於2018-03-21

首先你需要一臺阿里雲/騰訊雲伺服器

安裝系統選擇 ubuntu 16.04

然後通過 ssh 登入遠端伺服器按下列步驟進行配置:

更新列表

apt-get update

安裝語言包

sudo apt-get install -y language-pack-en-base

locale-gen en_US.UTF-8

安裝常用軟體

sudo apt-get install -y vim git zip unzip

安裝PHP7

//請確保每一步沒有出錯,如果有報錯,可嘗試多安裝幾次

sudo apt-get install -y software-properties-common

sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

sudo apt-get update

apt-cache search php7.1

sudo apt-get install -y php7.1

sudo apt-get install -y php7.1-mysql

sudo apt-get install -y php7.1-fpm

sudo apt-get install -y php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring

安裝 Mysql

sudo apt-get install -y mysql-server

//安裝完後需設定密碼

安裝 Nginx


//安裝之前需確認是否安裝了apache2,如果已經安裝了apache2,需要先停止/解除安裝 apache2
//停止
sudo service apache2 stop
//解除安裝
sudo apt-get --purge remove apache2
sudo apt-get --purge remove apache2.2-common
sudo apt-get autoremove

//安裝 nginx

sudo apt-get install -y nginx

配置 PHP7


sudo vim /etc/php/7.1/fpm/php.ini

//修改 cgi.fix_pathinfo=0 (注意去掉原有分號)

sudo vim /etc/php/7.1/fpm/pool.d/www.conf

//修改 listen = /var/run/php7.1-fpm.sock

配置 Nginx

sudo vim /etc/nginx/sites-available/default

//修改如下,根據自己的專案情況修改對應資訊:'laravel-project'替換為你的專案,'server_domain_or_IP' 替換為你的網站域名或IP地址
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/laravel-project/public;

    index index.php index.html index.htm;

    server_name server_domain_or_IP;

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

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php7.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

拉取程式碼


//建議先將程式碼上傳到雲端程式碼倉庫(github, coding)然後再在服務端上拉取

cd /var/www

git clone 地址

安裝 Composer 並使用 Composer 安裝程式碼依賴

訪問 composer 官網 獲取下面四行程式碼最新版,直接貼上執行安裝 Composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

//然後移動 composer.phar
mv composer.phar /usr/local/bin/composer

//進入專案目錄
cd /var/www/laravel-project

//執行 composer install
composer install

建立 .env 檔案


cd /var/www/laravel-project

cp .env.example .env

vim .env

//根據專案實際情況修改 .env 檔案

生成 laravel key

cd /var/www/laravel-project

php artisan key:generate

建立資料庫,執行遷移


//首先登入 mysql 建立一個對應專案的資料庫,名字應該和 .env 檔案中的一致

cd /var/www/laravel-project

php artisan migrate

修改許可權

sudo chown -R www-data:www-data /var/www

sudo chmod -R 777 /var/www/laravel-project/storage

重啟 Nginx 和 PHP7 fpm

service nginx restart

service php7.1-fpm restart

搞定!

如果遇到問題請在下方留言,或者在此專案 下提 issue,我會及時回覆

原文連結:Laravel 部署到阿里雲/騰訊雲

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章