系统要求:CentOS 7.2 64 位操作系统

安装 Laravel

Laravel 简介

Laravel 是一套简洁、优雅的 PHP Web 开发框架。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的 web APP,而且每行代码都可以简洁、富于表达力。

安装依赖

由于默认的 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

安装 nginxphp 及相关依赖:

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

配置 Mariadb(MySQL)

使用以下命令启动 mysql 并设为开启启动:

systemctl start mariadb
systemctl enable mariadb

首次启用 mysql 时,我们需要执行以下指令进行配置:

mysql_secure_installation

过程中除下图中两次 输入及确认密码 外,一路按回车键选择默认值即可。

安装 Composer

Composer 是 php 的依赖管理工具,我们将使用它下载 Laravel 安装包。

下载 Composer

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

设置环境变量,只有这样安装后系统才能找到 laravel 的执行文件:

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

设置 Swap

为了避免 composer 安装应用过程中出现内存不足的问题,我们预先设置一下 swap :(Swap 分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用)

/bin/dd if=/dev/zero of=/var/swap. bs=1M count=
/sbin/mkswap /var/swap.
/sbin/swapon /var/swap.

Laravel 安装

使用 Composer 安装 Laravel:

composer global require "laravel/installer"

使用 Laravel

新建项目

进入 /home 目录,我们创建一个 laravel 项目,命名为 blog

cd /home
laravel new blog

更新项目依赖

进入 blog 项目,使用 composer update --no-scripts 更新项目依赖:

cd blog
composer update --no-scripts

配置项目

配置目录权限

为了运行 Laravel,我们需要为一些项目目录配置权限:

sudo chmod  /home/blog/storage
sudo chmod /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=

接着,我们可以打开 http://118.89.65.22 测试访问。

配置 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 是否启动 : (php-fpm 默认监听 9000 端口)

netstat -nlpt | grep php-fpm

编辑配置

打开 /etc/nginx/nginx.conf,备注或移除如下内容:

server {
listen default_server;
listen [::]: default_server;
server_name _;
root /usr/share/nginx/html; ... error_page /50x.html;
location = /50x.html {
}
}

在 /etc/nginx/conf.d 目录下 创建 php.conf,然后在该文件中添加如下内容:

server {
listen default_server;
listen [::]: 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:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

启动 Nginx:

systemctl start nginx
systemctl enable nginx

我们可以打开 http://118.89.65.22 测试访问。

完成实验

恭喜!您已经完成了 Laravel 环境搭建 的全部实验内容,有关 Laravel 的更多资料请查看其文档中文)。

基于Centos搭建Laravel 环境搭建的更多相关文章

  1. 基于Centos搭建Jenkins 环境搭建

    系统要求: CentOS 7.2 64 位操作系统 安装 Jenkins Jenkins 简介 Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提 ...

  2. Centos 基础开发环境搭建之Maven私服nexus

    hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件  ...

  3. Ubuntu 基于Docker的TensorFlow 环境搭建

    基于Docker的TensorFlow 环境搭建 基于(ubuntu 16.04LTS/ubuntu 14.04LTS) 一.docker环境安装 1)更新.安装依赖包 sudo apt-get up ...

  4. EOS Dapp开发(1)-基于Docker的开发环境搭建

    随着EOS主网的上线,相信基于EOS的Dapp开发会越来越多,查阅了很多资料相关的开发资料都不是很多,只能自己摸索,按照网上仅有的几篇教程,先git clonehttps://github.com/E ...

  5. 基于Python的Appium环境搭建合集

    自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...

  6. 基于CentOS7.x gitlab环境搭建,卸载,汉化 --搭建篇

    gitlab环境搭建,卸载,汉化 --搭建篇 环境搭建 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients pos ...

  7. 基于Centos搭建Django 环境搭建

    CentOS 7.2 64 位操作系统 安装 Django 先安装 PIP,再通过 PIP 安装 Django 安装 PIP cd /data; mkdir tmp; cd tmp; wget htt ...

  8. 阿里云(ECS)Centos服务器LNMP环境搭建

    阿里云( ECS ) Centos7 服务器 LNMP 环境搭建 前言 第一次接触阿里云是大四的时候,当时在校外公司做兼职,关于智能家居项目的,话说当时俺就只有一个月左右的 php 后台开发经验(还是 ...

  9. Linux CentOS Python开发环境搭建教程

      CentOS安装Python 1.CentOS已经自带安装了2.x版本,先尝试python命令检查已安装的版本.如果你使用rpm.yum或deb命令安装过,请使用相对命令查询. 2.复制安装文件链 ...

随机推荐

  1. 详解如何进行第三方App接入微信登录

    微信登录接入 微信登录遵循协议Aouth2.0中的授权码模式 我们来看一下Aouth2.0中的授权码模式是怎么定义的: 授权码模式(authorization code)是功能最完整.流程最严密的授权 ...

  2. PowerDesigner使用积累

    PowerDesigner想必没人不知道吧?著名的CASE工具,目前最新版本为15.2,用于软件建模,可以从需求直到物理模型,支持UML2.0语法,可用于UML图绘制.最大特色是能够使设计到实现无缝衔 ...

  3. [转] HTML5应用之文件上传

    HTML5解决了以往网页编写的一个难题:带有上传进度的文件上传. 本文的代码全部来自http://www.matlus.com/html5-file-upload-with-progress/,如在技 ...

  4. CSP 地铁修建 Kruskal (最小生成树+并查集)

    问题描述 A市有n个交通枢纽,其中1号和n号非常重要,为了加强运输能力,A市决定在1号到n号枢纽间修建一条地铁. 地铁由很多段隧道组成,每段隧道连接两个交通枢纽.经过勘探,有m段隧道作为候选,两个交通 ...

  5. python全栈开发day29-网络编程之socket常见方法,socketserver模块,ftp作业

    一.昨日内容回顾 1.arp协议含义 2.子网,子网掩码 3.两台电脑在网络中怎么通信的? 4.tcp和udp socket编码 5.tcp和udp协议的区别 6.tcp三次握手和四次挥手,syn洪攻 ...

  6. 解决html5中video标签无法播放mp4问题的办法

    这篇文章主要给大家介绍了关于解决html5中video标签无法播放mp4问题的办法,文中介绍的非常详细,相信会对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 最近发现了一个 ...

  7. python中执行shell的两种方法总结

    这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包 ...

  8. pyrhon SQLite数据库

    pyrhon SQLite数据库 目录 介绍 导入模块 创建数据库/打开数据库 创建表 在表中插入行 查询/修改 删除表中的行 删除表 介绍 Python SQLITE数据库是一款非常小巧的嵌入式开源 ...

  9. 子域名收集之DNS字典爆破工具fierce与dnsdict6的使用

    子域名收集之DNS字典爆破工具fierce与dnsdict6的使用 一.fierce 0.介绍 该工具是一个域名扫描综合性工具.它可以快速获取指定域名的DNS服务器,并检查是否存在区域传输(Zone ...

  10. OSINT系列:威胁信息挖掘ThreatMiner

     OSINT系列:威胁信息挖掘ThreatMiner   ThreatMiner.org是一个非营利性组织.它收集各种开放的网络信息和安全信息,然后进行整理,供安全人员检索.它可以提供六大类.十八小类 ...