1. 程式人生 > >CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11

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

service req pac pat 二進制 logs block ip 地址 rom

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