- 目錄
- 1. 前言
- 2. 虛擬機和Centos7配置
- 3. 檢驗防火牆狀態
- 4. Nginx+PHP+Mysql環境安裝
- 4.1安裝nginx
- 4.2安裝mysql
- 4.3安裝PHP
- 5. Nginx+PHP+Mysql環境配置
- 5.1配置Nginx文件
- 5.2 配置Mysql
- 5.3配置PHP
- 5.4 測試與訪問
- 6. 安裝composer
- 6.1安裝composer
- 6.2設置環境變量
- 6.3修改權限,否則執行會出錯
- 6.4使用國內鏡像
- 7. 安裝thinkphp環境
- 7.1通過composer拉取
- 7.2項目遷移遇到的問題
- 7.2.1問題1:緩存寫入失敗
- 7.2.2問題2:讓nginx支持TP5.0僞靜態規則配置
- 8. 總結
1.前言
我的阿里雲服務器到期了,趁着雙十一活動,買了一臺騰訊雲服務器(騰訊雲活動力度大),剛好也想對Centos7系統進行回顧,順便將博客站點轉移過來,通過本次轉移,積累一點運維方面的經驗,並對linux方面的知識進行回顧運用。
2.虛擬機和Centos7配置
使用的是騰訊雲的服務器,配置環境爲純Centos7環境
操作系統:CentOS 7.6 64位
CPU:1核
內存: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環境,並對一些配置項有深刻的認識。