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 地址> 测试访问。

相关文章
相关标签/搜索