CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11

Posted 软件工程第六组

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11相关的知识,希望对你有一定的参考价值。

CentOS 7 下配置 nginx + php7.1 + MariaDB 以及 Laravel 框架

阿里云服务器的选择

当然是选择学生优惠啦。这里阿里云还提供了轻量级服务器这个选项,可以预装 LAMP,但是不能在服务器上跑高负载的工作。这听起来就像是超售很厉害的样子,还只便宜4块钱,一点诚意都没有果断不选。

Nginx 的安装

直接通过 yum install nginx 是行不通的,因为 nginx 并不在 yum 源里。我们先安装 EPEL

yum install epel-release -y

然后安装 Nginx

yum install nginx -y

启动并允许开机自启

systemctl start nginx
systemctl enable nginx

这时输入你服务器的 IP 地址就能见到 Nginx 的欢迎页了

MariaDB 的安装

MariaDB 是 mysql 的一个分支,由开源社区在维护,比被收购多次的 MySQL 清真那么一点。

使用命令

yum install mariadb-server mariadb -y

安装完毕后,类似地

systemctl start mariadb
systemctl enable mariadb

最后初始化

mysql_secure_installation

这里只需要你设置 root 用户的密码,其他一切都可以选择默认。

PHP 7.1 的安装

首先下载 PHP 7.1

wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Enable php71

yum install yum-utils -y
yum-config-manager --enable remi-php71

安装 PHP

yum --enablerepo=remi,remi-php71 install php-fpm php-common

安装常用模块

yum --enablerepo=remi,remi-php71 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

配置 PHP 与 Nginx

首先

sudo vi /etc/php.ini

;cgi.fix_pathinfo=1 改为 cgi.fix_pathinfo=0

因为若不修改,当访问一个 PHP 文件时,若该文件并不存在,PHP 会尝试执行与该文件名相似的文件,这样就能查看其他文件的二进制内容了,非常不安全。

然后修改 PHP-FPM 配置

sudo vi /etc/php-fpm.d/www.conf

;listen = 127.0.0.1:9000改为listen = /var/run/php-fpm/php-fpm.sock

;listen.owner = nobody改为listen.owner = nginx

;listen.group = nobody改为listen.group = nginx

user = apache改为user = nginx

group = apache改为group = nginx

最后修改 Nginx 的配置

sudo vi /etc/nginx/conf.d/default.conf

写入:

server {
    listen       80;
    server_name  服务器的IP;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

记得把 “服务器的IP” 替换掉

此时,重启 Nginx 服务,开启 PHP

sudo systemctl restart nginx
systemctl start php-fpm.service
systemctl enable php-fpm.service

就成功啦

测试一下

编辑文件

sudo vi /usr/share/nginx/html/info.php

添加内容

<?php phpinfo(); ?>

访问

http://服务器IP/info.php

你应该会看见看见 PHP 版本的页面,否则就是出现了错误,自己排查吧。

Laravel 框架的安装

先安装 PHP-zip

yum install php-pecl-zip

安装 Composer

-r "copy(‘https://install.phpcomposer.com/installer‘, ‘composer-setup.php‘);"
php composer-setup.php
php -r "unlink(‘composer-setup.php‘);"

在PATH中添加~/.composer/vendor/bin,然后执行

composer global require "laravel/installer=~1.1"

就好啦!

一旦安装完成后,就可以使用 laravel new 命令建立一份全新安装的 Laravel 应用,例如: laravel new blog 将会在当前目录下建立一个名为 blog 的目录, 此目录里面存放着全新安装的 Laravel 相关代码

以上是关于CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11的主要内容,如果未能解决你的问题,请参考以下文章

阿里云 Centos 7 PHP7环境配置 LNMP

centos7 Nginx1.14+php7+mysql5.7 以及 centos7 Apache2.4+PHP7+mysql 安装 Linux 配置 composer 以及Python2.7升级到

CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11

nginx+php7+mysql 在centos7.3下安装

centos6.4下安装php7+nginx+mariadb环境

CentOS 7.2.1511编译安装Nginx1.10.1+MySQL5.7.15+PHP7.0.11