本文使用基于騰訊云服務(wù)器的Centos7.6搭建NGINX苦始,MySQL寞钥,PHP開發(fā)環(huán)境,所有步驟的最后一次測試時間是2020年5月15日陌选,文末Tips[1]也或許解決你在搭建開發(fā)環(huán)境時遇到的不少問題
在搭建環(huán)境前你應(yīng)該要懂
- 基本的Linux操作指令理郑,Vim基本指令
- 騰訊云控制臺安全組配置
- Xshell登錄云服務(wù)器
注意:教程將直接從登錄服務(wù)器后開始,基本指令本教程將不再贅述
前置操作
- 關(guān)閉防火墻咨油,并禁止開機(jī)自啟動
systemctl stop firewalld.service
systemctl disable firewalld.service
Nginx安裝和配置
- 安裝Nginx
yum install nginx
注意:輸入上面的指令后您炉,會出現(xiàn)下圖提示。這種類型提示在后面的安裝中也會出現(xiàn)役电,文中無特殊說明一律選擇'y' 再回車即可赚爵。
- 啟動nginx,并設(shè)置為開機(jī)啟動
systemctl start nginx
systemctl enable nginx
注意:輸入上面的指令后,在瀏覽器中輸入服務(wù)器 ip效果如下冀膝,表示Nginx啟動成功
- 配置nginx
vim /etc/nginx/nginx.conf
打開文件后唁奢,在下圖a處新增代碼塊1,b出新增代碼塊2
命令1 index index.php index.html index.htm;
命令2
location ~ .php$ {
try_files $uri =404;
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.conf;
}
配置完后效果如下圖
步驟二 PHP搭建
1.安裝PHP
yum install php php-mysqlnd php-fpm
2.編輯PHP配置文件
vim /etc/php.ini
在文件中找到 ;cgi.fix_pathinfo=1 后窝剖,把它改成
cgi.fix_pathinfo=0
改完后保存并退出麻掸。
3.創(chuàng)建nginx用戶和用戶組
groupadd -r nginx
useradd -r -g nginx nginx
這一步是為了保險(xiǎn),分別輸入以上指令即可赐纱,不用管提示脊奋。
4.編輯PHP-FPM配置文件
vim /etc/php-fpm.d/www.conf
如上圖,將
user = 某某某
group = 某某某
改為
user = nginx
group = nginx
5.啟動PHP—FPM疙描、設(shè)置開機(jī)啟動并重啟nginx
systemctl start php-fpm
systemctl enable php-fpm
systemctl restart nginx
6.在/usr/share/nginx/html/ 下創(chuàng)建phpinfo.php
vim /usr/share/nginx/html/phpinfo.php
在新創(chuàng)建文件中輸入 <?php phpinfo();?>诚隙,效果如圖
測試:保存并退出后,在瀏覽器中輸入 主機(jī)IP/phpinfo.php 若顯示為下圖則步驟一淫痰、步驟二配置成功最楷!
特別注意:第二步需要用到一些vim編輯命令,如查找待错、保存籽孙、進(jìn)入編輯模式和進(jìn)入命令模式等,需要自己先行學(xué)習(xí)
步驟三 Mysql搭建
centos7 在安裝mysql系列時火俄,需要補(bǔ)充yum源犯建!
1.補(bǔ)充yum源
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
2.安裝mysql
yum install mysql-community-server
mysql安裝時間比較久,可以喝杯茶休息一下瓜客。中途會出現(xiàn)多次確認(rèn)提示适瓦,輸入 y 回車即可
3.啟動mysql并設(shè)置為開機(jī)自啟動
systemctl start mysqld
systemctl enable mysqld
4.設(shè)置mysql密碼 請務(wù)必謹(jǐn)記你所設(shè)置的密碼,親身經(jīng)歷谱仪,血的教訓(xùn)
mysql -uroot
set password for ‘root’@‘localhost’ = password('你的密碼'); (注意玻熙,這一句最后有分號)
exit
測試:輸入mysql -u root -p 你的密碼 若成功進(jìn)入mysql則為成功。效果如下圖
到這個位置疯攒,LNMP環(huán)境已經(jīng)搭建成功了嗦随,下面開始是phpmyadmin安裝教程,有需要的選看即可
二 phpmyadmin安裝
注意敬尺,安裝的phpmyadmin要與已經(jīng)安裝的php和mysql版本相匹配枚尼,否則會出現(xiàn)錯誤
1.查看php版本
php -v
效果如下圖
2.查看mysql
使用 用戶名和密碼登錄mysql后 輸入
status; (注意這個分號!)
查看mysql版本砂吞,效果如下圖
到phpmyadmin官網(wǎng)查看自己的php和mysql版本所對應(yīng)的phpmyadmin
我的php版本是5.4.16署恍,MySQL版本是5.6.40,所以我需要下載的phpmyadmin版本為4.0.10.20
3.進(jìn)入nginx根目錄
cd /usr/share/nginx/html
4.下載phpmyadmin
wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.tar.gz
5.解壓所下載的壓縮包
tar -xzvf phpMyAdmin-4.0.10.20-all-languages.tar.gz
6.將解壓后的文件夾改名為phpmyadmin
mv phpMyAdmin-4.0.10.20-all-languages phpmyadmin
測試:在瀏覽器中輸入 IP/phpmyadmin蜻直,進(jìn)入登錄頁面
登錄phpmyadmin的用戶名和密碼是之前設(shè)置的登錄mysql的密碼(默認(rèn)用戶名為root)
到這里盯质,phpmyadmin就安裝完畢了袁串!
一.出現(xiàn)下圖錯誤
注意:若出現(xiàn)Module 'mbstring' already loaded in Unknown on line 0
則跳過第2步(如果已經(jīng)執(zhí)行了第二步,把那條新增語句刪除即可)
1.先安裝php-mbstring
yum install php-mbstring
2.編輯php配置文件
vim /etc/php.ini
在Dynamic Extension下新增語句extension=mbstring.so
效果如圖
3.重啟nginx和php-fpm
systemctl restart nginx
systemctl restart php-fpm
二.帳號密碼正確呼巷,登錄PHPmyadmin無反應(yīng)
1.更改session的權(quán)限
chmod -R 777 /var/lib/php/session
2.重啟nginx和php-fpm
systemctl restart nginx
systemctl restart php-fpm
三.php連接數(shù)據(jù)庫超時
1.在服務(wù)器入口規(guī)則開放3306端口
2.服務(wù)器登錄mysql般婆,輸入命令
grant all PRIVILEGES on 數(shù)據(jù)庫名.* to '用戶名'@'主機(jī)地址' identified by '登錄密碼' WITH GRANT OPTION;
3.再輸入
flush privileges;
四.無法正常訪問云服務(wù)器/服務(wù)器不支持ping
1.到控制臺安全組里面,開啟22等一系列端口和ICMP等一系列協(xié)議即可
2.偶見服務(wù)器重啟后朵逝,暫時ping不可達(dá)蔚袍,靜待十幾分鐘即可
五.phpmyadmin安裝后,輸入IP/phpmyadmin 顯示“404 not found”
可能為nginx.conf中php塊配置錯誤配名,按教程重新配置即可
六.phpmyadmin顯示403 forbiddend
檢查nginx.conf sever塊中的index啤咽,恢復(fù)默認(rèn)即可
七.phpmyadmin顯示“Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.”
在php的配置文件(/etc/php.ini)php.ini中,找到配置項(xiàng)session.auto_start渠脉,將其后面的值從0改為1
八.配置https
1.去騰訊云免費(fèi)申請證書
2.根據(jù)官方教程在conf中加入一個server(先在安全組中開放443端口):
server {
listen 443;
server_name www.域名.cn;
ssl on;
ssl_certificate 根目錄/1_www.域名.cn_bundle.crt;
ssl_certificate_key 根目錄/2_www.域名.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root 根目錄;
index index.html index.htm;
}
}
3.把證書下載到電腦后宇整,在nginx中將1_www.域名.cn_bundle.crt和2_www.域名.cn.key 上傳到服務(wù)器根目錄
特別要注意
1.conf中括號的配對,以及每條語句后的分號
2.根目錄不要寫錯(如usr寫錯成user)
4.在所需的server中加入一個跳轉(zhuǎn)語句,這樣http會自動跳轉(zhuǎn)到https
rewrite ^(.*) https://$host$ 1 permanent;
九、配置證書后的各種錯誤解決
1.phpmyadmin無法使用(進(jìn)入自動下載php)
在443的server里面加入php快
-
Tips ?