基於Centos7的LNMP環境搭建

1.前言

我的阿里雲服務器到期了,趁着雙十一活動,買了一臺騰訊雲服務器(騰訊雲活動力度大),剛好也想對Centos7系統進行回顧,順便將博客站點轉移過來,通過本次轉移,積累一點運維方面的經驗,並對linux方面的知識進行回顧運用。

2.虛擬機和Centos7配置

使用的是騰訊雲的服務器,配置環境爲純Centos7環境

操作系統CentOS 7.6 64位

CPU1核

內存2GB

公網帶寬1Mbps

3.檢驗防火牆狀態

運行getenforce命令查看SELinux的當前狀態。

如果SELinux狀態參數是Disabled, 則SELinux爲關閉狀態。

如果SELinux狀態參數是Enforcing,則SELinux爲開啓狀態。

4.Nginx+PHP+Mysql環境安裝

4.1安裝nginx

安裝命令:

yum -y install nginx

查看版本:

nginx -v    

4.2安裝mysql

運行命令更新YUM源:

rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

安裝命令:

yum -y install mysql-community-server

查看版本:

mysql -V

4.3安裝PHP

屏蔽baseurl:

cd /etc/yum.repos.d

vi ius.repo

找到baseurl這一行,在前面加#

更新yum源:

php高版本的yum源地址,有兩部分,其中一部分是epel-release,另外一部分來自webtatic。如果跳過epel-release的話,安裝webtatic的時候,會報錯,所以要安裝兩部分。

yum install epel-release -y

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安裝PHP擴展包

普通安裝命令

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel

較全面安裝命令

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xm

查看版本:

php -v

5. Nginx+PHP+Mysql環境配置

5.1配置Nginx文件

備份Nginx配置文件

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

在根目錄創建網站目錄

mkdir yjdata

修改Nginx配置文件,添加Nginx對PHP的支持

vim /etc/nginx/nginx.conf

a進入編輯模式,在server大括號內,添加下列配置信息

 location / {

               index index.php index.html index.htm;

        }

location ~ .php$ {

           root /usr/share/nginx/html;   

           fastcgi_pass 127.0.0.1:9000;           

       fastcgi_index index.php;

           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

           include fastcgi_params;      

 }

具體如下圖所示

啓動Nginx服務

systemctl start nginx

設置Nginx服務開機自啓動

systemctl enable nginx

5.2 配置Mysql

啓動MySQL服務

systemctl start mysqld

設置MySQL服務開機自啓動

systemctl enable mysqld

查看/var/log/mysqld.log文件,獲取並記錄root用戶的初始密碼

grep 'temporary password' /var/log/mysqld.log

5.3配置PHP

新建phpinfo.php文件,用於展示phpinfo信息

vim /yjdata/phpinfo.php

添加以下信息:

<h1>Hello PHP, this is mtdgblog</h1>  

<?php  

 echo phpinfo();

 ?>

啓動PHP-FPM

systemctl start php-fpm

設置PHP-FPM開機自啓動

systemctl enable php-fpm

5.4 測試與訪問

打開任意瀏覽器在地址欄輸入http://域名/phpinfo.php。

6.安裝composer

6.1安裝composer

curl -sS https://getcomposer.org/installer | php

6.2設置環境變量

mv composer.phar /usr/local/bin/composer

6.3修改權限,否則執行會出錯

chmod -R 777 /usr/local/bin/composer

6.4使用國內鏡像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

7.安裝thinkphp環境

7.1通過composer拉取

創建.json文件

vim /yjdata/composer.json

編輯內容

"require": {

   "php": ">=5.6.0",

   "topthink/framework": "5.1.*",

   "topthink/think-captcha": "^2.0"

}

通過composer install命令拉取

7.2項目遷移遇到的問題

7.2.1問題1:緩存寫入失敗

項目在本地環境正常運行,在linux服務器上提示thinkphp緩存寫入失敗,是因爲沒有給文件添加權限,你可以敲入以下命令:

chmod -R 777 yjdata

其中yjdata是我的項目文件夾名稱,你也可以在項目文件內敲入:

chmod -R 777 Runtime/

7.2.2問題2:讓nginx支持TP5.0僞靜態規則配置

[root@VM_0_17_centos ~]# vim /etc/nginx/nginx.conf

添加如下僞靜態規則代碼:

if (!-e $request_filename) {

rewrite ^(.*)$ /index.php?s=$1 last;

break;

}

8.總結

本次LNMP安裝和配置整體來說是比較成功的,通過這次安裝,我成功獨自搭建了LNMP環境,並對一些配置項有深刻的認識。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章