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

Song3283 次浏览0个评论2018年04月24日

今天我们总结在CentOS 7.x运行LNMP环境,上安装运行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地址,或者指向这个地址的域名访问服务器指定的目录了。你会看到如图所示。LNMP

三、安装PHP7

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

1、安装PHP7: 

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

2、安装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

四、配置Nginx

安装完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

五、安装MySQL/MariaDB

MySQLMariaDB是相互兼容的,现在社区推荐使用MariaDB,所以我们安装MariaDB代替MySQL

1、安装MariaDB

sudo yum install mariadb101u-server -y

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

sudo yum remove mariadb-libs -y

重启mysql/mariadb

sudo systemctl start mariadb

设置开机启动

sudo systemctl enable mariadb

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

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 表示愿意。

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

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

六、部署laravel

代码上传我们可以使用GIT或者FTP上传代码,具体不解释了。

Linux需要添加文件执行权限,否则出500错误,

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

然后我们访问域名即可查看我们的项目。

更多相关好文