基于Centos搭建Laravel 环境搭建
系统要求: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
安装 nginx、php 及相关依赖:
- 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 环境搭建的更多相关文章
- 基于Centos搭建Jenkins 环境搭建
系统要求: CentOS 7.2 64 位操作系统 安装 Jenkins Jenkins 简介 Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提 ...
- Centos 基础开发环境搭建之Maven私服nexus
hmaster 安装nexus及启动方式 /usr/local/nexus-2.6.3-01/bin ./nexus status Centos 基础开发环境搭建之Maven私服nexus . 软件 ...
- Ubuntu 基于Docker的TensorFlow 环境搭建
基于Docker的TensorFlow 环境搭建 基于(ubuntu 16.04LTS/ubuntu 14.04LTS) 一.docker环境安装 1)更新.安装依赖包 sudo apt-get up ...
- EOS Dapp开发(1)-基于Docker的开发环境搭建
随着EOS主网的上线,相信基于EOS的Dapp开发会越来越多,查阅了很多资料相关的开发资料都不是很多,只能自己摸索,按照网上仅有的几篇教程,先git clonehttps://github.com/E ...
- 基于Python的Appium环境搭建合集
自动化一直是测试圈中的热聊,也是大家追求的技术方向.在测试中,往往回归测试也是测试人员的“痛点”.对于迭代慢.变更少的功能,就能用上自动化来替代人工回归,减轻工作量. 问题 在分享环境搭建之前,先抛出 ...
- 基于CentOS7.x gitlab环境搭建,卸载,汉化 --搭建篇
gitlab环境搭建,卸载,汉化 --搭建篇 环境搭建 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients pos ...
- 基于Centos搭建Django 环境搭建
CentOS 7.2 64 位操作系统 安装 Django 先安装 PIP,再通过 PIP 安装 Django 安装 PIP cd /data; mkdir tmp; cd tmp; wget htt ...
- 阿里云(ECS)Centos服务器LNMP环境搭建
阿里云( ECS ) Centos7 服务器 LNMP 环境搭建 前言 第一次接触阿里云是大四的时候,当时在校外公司做兼职,关于智能家居项目的,话说当时俺就只有一个月左右的 php 后台开发经验(还是 ...
- Linux CentOS Python开发环境搭建教程
CentOS安装Python 1.CentOS已经自带安装了2.x版本,先尝试python命令检查已安装的版本.如果你使用rpm.yum或deb命令安装过,请使用相对命令查询. 2.复制安装文件链 ...
随机推荐
- SpringBatch 错误积累
1.如果nextStep在该JOB中还没有配置,也就是说nextStep还不存在的情况下,就会报错 <end on="EIXT WITH IMBALANCE" /> & ...
- ahoi2009维护序列
链接:https://www.luogu.org/problemnew/show/P2023 裸的线段树维护+* 代码: #include <bits/stdc++.h> using na ...
- C# Winform OpenFileDialog 控件
OpenFileDialog控件又称打开文件对话框,主要用来弹出Windows中标准的[打开文件]对话框. OpenFileDialog控件的常用属性如下. (1)Title属性:用来获取或设置对话框 ...
- Mysql linux -N命令
一.-e 和 -N /usr/local/bin/mysql -h127.0.0.1 -uroot -pxxxx -N -e "use abc; show tables;" -e ...
- Python yaml模块
引用自:https://www.cnblogs.com/shaosks/p/7344771.html 一.简介 YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写.它实质上是一种通 ...
- Teamviewer 远程控制时 无法正常操作鼠标点击
其中一种可能: 本机开启了360的64位Intel-VT核晶防护后,用Teamviewer远程到本机,远程电脑无法操作本机的鼠标点击(左右键都不行),查看日志显示拦截了模拟按键.关闭核晶防护就可以正常 ...
- AndrodStudio报错: Cannot launch AVD in emulator.
Cannot launch AVD in emulator.Output:Hax is enabledHax ram_size 0x60000000HAX is working and emulato ...
- Android超链接
第一种: text += "<a href='http://www.baidu.com'>百度超链接</a>"; CharSequence charSequ ...
- php手撸轻量级开发(一)
聊聊本文内容 之前讲过php简单的内容,但是原生永远是不够看的,这次用框架做一些功能性的事情. 但是公司用自己的框架不能拿出来,用了用一些流行的框架比如tp,larveral之类的感觉太重,CI也不顺 ...
- python 文本分类
python 文本分类 pyhton 机器学习 待续...