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