Laravel 環境搭建 Apache 和 Nginx

Laravel 開發框架是一個很是優秀的前端框架,要將 Laravel 部署到服務器中須要通過一系列的操做。

更新歷史php

  • 2017.12.29:完成初稿

安裝 Laravel

Laravel 簡介

Laravel 是一套簡潔、優雅的 PHP Web 開發框架。它可讓你從麪條同樣雜亂的代碼中解脫出來;它能夠幫你構建一個完美的 web APP,並且每行代碼均可以簡潔、富於表達力。html

安裝依賴

因爲默認的 yum 源 php 版本低於 Laravel 要求,因此須要添加第三方源:前端

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安裝 nginx、php 及相關依賴:mysql

yum -y install nginx mariadb-server php70w php70w-fpm php70w-mysql php70w-mcrypt php70w-dom php70w-mbstring

配置 Mariadb(MySQL)nginx

使用如下命令啓動 mysql 並設爲開啓啓動:laravel

systemctl start mariadb
systemctl enable mariadb

首次啓用 mysql 時,咱們須要執行如下指令進行配置:web

mysql_secure_installation

過程當中除下圖中兩次 輸入及確認密碼 外,一路按回車鍵選擇默認值便可。sql

image

安裝 Composer

Composer 是 php 的依賴管理工具,咱們將使用它下載 Laravel 安裝包。apache

下載 Composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

設置環境變量,只有這樣安裝後系統才能找到 laravel 的執行文件:bootstrap

export PATH=$PATH:/root/.config/composer/vendor/bin

設置 Swap

爲了不 composer 安裝應用過程當中出現內存不足的問題,咱們預先設置一下 swap [?]:

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1
Swap 分區在系統的物理內存不夠用的時候,把硬盤空間中的一部分空間釋放出來,以供當前運行的程序使用。

Laravel 安裝

使用 Composer 安裝 Laravel:

composer global require "laravel/installer"

使用 Laravel

新建項目

進入 /home 目錄,咱們建立一個 laravel 項目,命名爲 blog:

cd /home
laravel new blog

點擊 /home/blog 可查看項目結構。

更新項目依賴

進入 blog 項目,使用 composer update --no-scripts 更新項目依賴:

cd blog
composer update --no-scripts

配置項目

配置目錄權限

爲了運行 Laravel,咱們須要爲一些項目目錄配置權限:

sudo chmod 775 /home/blog/storage
sudo chmod 775 /home/blog/bootstrap/cache

生成密鑰

查看 blog 目錄下是否包含 .env 文件,若是不存在,則右擊 .env.example 文件,將其重命名爲 .env。

咱們使用如下命令來生成一串密鑰:

php artisan key:generate

執行後會獲得以下輸出:

Application key [...] set successfully.

打開 /config/app.php,找到以下一行:

'key' => env('APP_KEY'),

將生成的密鑰填入(中括號中部分):

'key' => env('APP_KEY', '...'),

測試啓動

在 blog 目錄下,咱們使用下面命令來啓用 開發服務器 測試訪問:

sudo php artisan serve --host=0.0.0.0 --port=80

接着,咱們能夠打開 http://<您的 CVM IP 地址> 測試訪問。

配置 nginx

上面的 serve Artisan 命令通常只用於本地開發,而生產環境中咱們須要使用 Web 服務器,這裏咱們選用了 nginx。

啓動 php-fpm

首先咱們先按 Ctrl + C 中止掉剛剛的 serve。

在 nginx 中,咱們經過 php-fpm 來調用 php,經過下面命令啓動 php-fpm:

systemctl start php-fpm
systemctl enable php-fpm

可使用下面的命令查看 php-fpm 是否啓動 [?]:

netstat -nlpt | grep php-fpm
php-fpm 默認監聽 9000 端口

編輯配置

打開 /etc/nginx/nginx.conf,備註或移除以下內容:

server {
    listen       80 default_server;
    listen       [::]:80 default_server;
    server_name  _;
    root         /usr/share/nginx/html;

    ...

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

在 /etc/nginx/conf.d 目錄下 建立 php.conf,而後在該文件中添加以下內容:

server {
    listen      80 default_server;
    listen      [::]:80 default_server;
    server_name _;
    root        /home/blog/public;
    index       index.php index.html index.htm;

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

    location ~ .php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

啓動 Nginx

systemctl start nginx
systemctl enable nginx

咱們能夠打開 http:// <您的 CVM IP 地址> 測試訪問。

配置 Apache

接下來就是配置apache的時候了,Apache 和 Nginx 能夠二選一

安裝Apache

安裝指令:

sudo apt-get install apache2

啓動命令:

service apache2 start // 開啓
service apache2 stop // 關閉
service apache2 restart // 重啓

主配置文件的目錄:

/etc/apache2/apache2.conf

在配置文件中加入如下路由轉發設置

<Directory /var/www/項目目錄/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

具體網址配置文件目錄:

/etc/apache2/sites-enabled/000-default.conf

編輯 000-default.conf 或新建一個配置文件,修改網站的根目錄:

DocumentRoot /var/www/項目目錄/public

從新啓動Apache

service apache2 restart

大功告成,咱們能夠打開 http:// <您的 CVM IP 地址> 測試訪問。

相關文章
相關標籤/搜索