本站停止维护,已转移至laravel学习网;欢迎大家移步访问!

CentOS7.x 搭建 lnmp7.0 环境并且部署laravel项目

在前面,我们已经总结了[ 视频 ]ubuntu 安装lnmp运行laravel项目ubuntu安装lamp运行laravel今天我们一起来学习一下在CentOS 7.x,上安装运行 PHP 7,以及配置多站点访问,开启mysql远程访问,最终运行php laravel项目

一. 安装仓库

为了可以使用 CentOS 系统的包管理工具去安装更多的东西,我们需要单独安装一些额外的软件仓库。

EPEL

sudo yum install epel-release -y

IUS

sudo yum install https://centos7.iuscommunity.org/ius-release.rpm

IUS 仓库里面有我们需要的一些新的软件包,比如 PHP 7。注意我们安装的是为 CentOS  7 这个系统准备的 IUS 仓库,如果你的系统是 CentOS 6,你需要到 IUS 网站上去查找适合的仓库的下载地址。

二. 安装 NGINX

NGINX 这个软件包已经包装在 EPEL 仓库里了,之前我们已经安装了这个仓库,所以可以直接使用包管理工具去安装 NGINX。

sudo yum install nginx -y             #安装nginx
sudo systemctl start nginx            #启动nginx
sudo systemctl enable nginx           #开启自启动

服务启动以后,你就可以在浏览器上使用服务器的 IP 地址,或者指向这个地址的域名访问服务器指定的目录了。你会看到如图所示。82131

三. 配置 nginx 虚拟主机

安装完 nginx 以后,第一件想到的事应该就是去创建虚拟主机,虚拟主机允许我们在同一台服务器上运行多个网站,我们可以为不同的域名绑定不同的目录,访问这个域名的时候,会打开对应目录里面的东西。达到服务器多站点访问的效果

cd /etc/nginx/conf.d

 接下来我们配置多站点,我这里只做了一个,你可以复制如下方法达到多站点的效果

vim test.bbs.com.conf

然后进入编辑模式(大写的I),粘贴如下代码,server_name为你的域名root为访问文件夹

server {
  listen        80;
  server_name   test.earnp.com;
  root          /var/www/laravel/public;
  index         index.php index.html;

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

  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
  }
}

注意:try_files $uri $uri/ /index.php?$query_string; 是开启从写路由,很多同学说网站只能进首页,其他网页都是404就是重写路由没有开启,第二个 Location 设置了让虚拟主机可以去处理 PHP 的请求。

重启 nginx 或者重新加载 nginx 可以让配置文件生效。

sudo systemctl reload nginx

四. 安装PHP7

要让 nginx 能够执行 php 文件,需要去安装一下 php-fpm,我要安装的是比较新的 PHP 7 ,这个软件包可以在 IUS 仓库里找到,所以刚才让你先安装了 IUS 仓库。

sudo yum install php70u-fpm -y     #安装php7
sudo systemctl start php-fpm        # 重启php7
sudo systemctl enable php-fpm     #开机启动

为了可以正常运行一般的 PHP 应用,你需要再安装一些其它的 PHP 扩展,通常你在安装 PHP 应用,比如 WordPress,Drupal,Laravel 的时候,都会提示你缺少的 PHP 扩展。下面是一些常用的 PHP 扩展:

sudo yum install php70u-gd  php70u-mysqlnd php70u-pdo php70u-mcrypt php70u-mbstring php70u-json php70u-opcache php70u-xml -y

接下来重启一下php

sudo systemctl reload php-fpm

现在,我们已经安装了 php-fpm,并修改了 nginx 的配置文件让它可以去执行 php,下面,我们得去测试一下,可以使用 php 的 phpinfo(); 函数,方法是在你的虚拟主机根目录下面,创建一个 php 文件,命名为 index.php,然后在这个文件里输入:

<?php
   phpinfo(); 
?>

访问test.earnp.com就能看到php的具体信息,你也是输入你自己配置的域名哈

五. 安装 MySQL / MariaDB

MySQL 与 MariaDB 是相互兼容的,现在社区推荐使用 MariaDB,所以我们可以去安装一下 MariaDB ,用它代替 MySQL 。

sudo yum install mariadb101u-server -y

如果出现冲突的提示,是因为系统本身自带 MariaDB,我们需要先删除掉系统本身带的,才能正常安装比较新的。一般可以这样来删除(不报错跳过):

sudo yum remove mariadb-libs -y

重启mysql/mariadb

sudo systemctl start mariadb

设置开机启动

sudo systemctl enable mariadb

然后我们需要简单配置一下 mysql ,默认安装以后 mysql 的 root 用户是没有密码的,所以我们来设置一下

mysql_secure_installation

Enter current password for root (enter for none):
解释:输入当前 root 用户密码,默认为空,直接回车。
Set root password? [Y/n]  y
解释:要设置 root 密码吗?输入 y 表示愿意。
Remove anonymous users? [Y/n]  y
解释:要移除掉匿名用户吗?输入 y 表示愿意。
Disallow root login remotely? [Y/n]  y
解释:不想让 root 远程登陆吗?输入n 表示允许远程登录。
Remove test database and access to it? [Y/n]  y
解释:要去掉 test 数据库吗?输入 y 表示愿意。
Reload privilege tables now? [Y/n]  y
解释:想要重新加载权限吗?输入 y 表示愿意。

开启mysql远程访问,让本地客户端能链接mysql

mysql -u root -p;
use mysql;
grant all privileges on *.* to root@"%" identified by "password" with grant option;
flush privileges;

描述在开头文章里都有,这里就不解释了,注意,代码中password为你个人设置的密码

六. 部署laravel

我们这里使用git 来做一个代码仓库,想了解更多可以查看Git 使用Coding轻松打造团队协作,以及轻松部署程序好的,我们克隆下代码到上面设置的/var/www/laravel下,我们先来安装git

yum install git

克隆代码到/var/www/laravel下

cd /var/www
git clone https://git.coding.net/lusong/laravel.git

添加文件权限,否则出500错误哦

cd /var/www
chmod -R 777 vendor/ storage/ bootstrap/cache/

好的,到这里我们的项目配置成功了

转载请注明 :一沙网络原文出处:http://bbs.earnp.com/article/286
问题交流群 :562864481
25
打赏
发布时间 :2016-12-15 00:36:10
分享

1 个评论

  • 无名氏
    回复
    2017-08-11 11:15

    感谢,最后一个权限问题弄了好久,无从下手。

要回复文章请先登录注册