爛泥:使用nginx利用虛擬主機搭建WordPress部落格
最近開始打算學習nginx web伺服器,既然是學習還是以實用為目的的。我們在此以搭建WordPress部落格為例。
搭建WordPress部落格,我們需要Mysql資料庫、PHP環境和Nginx Web伺服器。主要分為以下四個步驟:
1、Mysql資料庫安裝及配置
2、PHP、PHP-FPM及與PHP相關元件的安裝及配置
3、Nginx Web伺服器搭建與配置
4、wordpress安裝
注意:本次實驗,除了nginx使用原始碼安裝外,其他的軟體全部使用rpm包yum方式進行安裝。
一、 Mysql資料庫安裝及配置
1.1 mysql資料庫安裝
mysql資料庫,我們使用yum方式進行安裝。如下:
yum -y install mysql mysql-server
1.2 修改mysql資料庫root使用者密碼及配置遠端訪問許可權
mysql資料庫安裝完畢後,我們來啟動mysql資料庫,並修改mysql資料庫的相關設定,同時還要為wordpress建立ailanni資料庫。如下:
/etc/init.d/mysqld start
修改mysql資料庫root使用者的密碼,mysql資料庫安裝後root使用者預設密碼為空。使用如下命令:
mysql -u root –p或者mysql -uroot –p
use mysql;
update user set password=password(`123456`) where user=`root`;
flush privileges;
/etc/init.d/mysqld restart
預設情況下,mysql資料庫只允許本機訪問mysql資料庫。但是為了對mysql資料庫管理的方便,我們需要開啟mysql資料庫遠端訪問的許可權。使用如下命令:
mysql -u root –p或者mysql -uroot –p
use mysql;
update user set host=`%` where user=`root`;
flush privileges;
/etc/init.d/mysqld restart
以上配置完畢後,你會發現mysql連線非常慢。我們只需要修改mysql資料庫的配置檔案即可。
開啟/etc/my.cnf檔案,在mysqld中,加入skip-name-resolve,然後重啟mysql資料庫,即可。如下:
vi /etc/my.cnf
/etc/init.d/mysqld restart
1.3 建立wordpress所需資料庫
以上操作完畢後,我們再連線mysql資料庫,在此我們使用的是Navicat Premium資料庫客戶端。
通過Navicat Premium建立Wordpress部落格所需要的資料庫,有關使用Navicat Premium建立mysql資料庫,可以參考《爛泥:Navicat Premium使用mysql資料庫》,資料庫建立完畢後如下:
當然我們也可以使用,phpmyadmin建立wordpress說需要的資料庫。
有關在nginx上安裝與使用phpmyadmin,我會在下一篇文章中介紹。
二、PHP、PHP-FPM及與PHP相關元件的安裝及配置
mysql資料庫安裝完畢後,我們現在來配置php環境。
2.1 安裝PHP及其相關元件
首先安裝php及相關的元件,使用如下命令:
yum -y install php*
在php的相關元件中,我們一定要注意php-mysql與php-fpm這兩個元件。其中php-mysql之php連線mysql使用,否則在安裝WordPress時,會提示:您的PHP似乎沒有安裝執行WordPress所必需的MySQL擴充套件。這個安裝完畢後,要重啟mysql資料庫,否則wordpress無法連線mysql資料庫。
而php-fpm是php配合naginx使用的,nginx本身不支援php,通過php-fpm配合nginx才解析php語言。
這兩個元件其實是可以單獨分開進行安裝的,如下:
yum –y install php-mysql
yum –y install php-fpm
以上安裝完畢後,我們來檢視php的版本。如下:
php -v
2.2 配置php-fpm
php相關元件安裝完畢後,我們就要來配置php-fpm。
檢視php-fpm的相關安裝文件,如下:
rpm -ql php-fpm
通過上圖,我們可以看到php-fpm的相關配置檔案。主要配置檔案為/etc/php-fpm.conf,現在檢視該配置檔案,如下:
more /etc/php-fpm.conf
你會發現該配置檔案根本就沒有定義啊,php-fpm所需要監聽的埠以及監聽的地址。
難道說我們說分析的不對?
呵呵,其實我們分析的一點都沒有錯。注意上圖中,我們標記出來的部分。
include=/etc/php-fpm.d/*.conf
這條語句很重要,它包含了真的php-fpm說配置的關鍵部分。該關鍵配置檔案就是在php-fpm安裝圖中標記出來的www.conf檔案。
/etc/php-fpm.d/www.conf
現在我們來檢視該檔案,如下:
more /etc/php-fpm.d/www.conf
這張圖,標記出來的部分,顯示的是php-fpm要監聽的地址和埠。
這張圖,顯示的是執行php-fpm程式時,所使用的使用者及使用者組。在此,我們使用預設使用者及使用者組apache。
說白了,只要我們安裝好php-fpm不進行任何配置,使用預設的配置即可。
當然如果你想進一步優化php-fpm配置的話,可以通過php-fpm安裝時說給出的配置模版來配置,該配置模版位於:
more /usr/share/doc/php-fpm-5.3.3/php-fpm.conf.default
以上配置完畢後,我們來啟動php-fpm,並檢視是否正常監聽埠以及地址。如下:
/etc/init.d/php-fpm start
chkconfig php-fpm on
netstat -tunlp |grep 9000
ps aux |grep php-fpm
通過上圖,我們可以看到目前php-fpm已經正常執行,監聽的地址及埠為:127.0.0.1:9000,並且php-fpm是以apache使用者執行的。而主程式是以root使用者在執行。
通過php-fpm的啟動方式,我們可以看到php-fpm是以服務的方式在執行。那麼我們也可以通過伺服器的方式,重啟和關閉php-fpm。如下:
/etc/init.d/php-fpm restart
/etc/init.d/php-fpm stop
三、Nginx Web伺服器搭建與配置
3.1 安裝Nginx
把下載好的nginx上傳到伺服器上,使用如下命令:
scp tengine-2.0.3.tar.gz root@192.168.1.102:/tmp
ifconfig eth0|grep “inet addr”|awk `{print $2}`|cut -d: -f2
解壓nginx,並進行編譯、安裝如下:
tar -xf /tmp/tengine-2.0.3.tar.gz -C ./
./configure
make && make install
3.2 啟動nginx
nginx安裝完畢後,我們來開始啟動nginx。nginx可以通過兩種方式進行啟動。
一種是如下:
/usr/local/nginx/sbin/nginx
另外一種如下:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
其實第一種方式,預設情況下是要載入/usr/local/nginx/conf/nginx.conf配置檔案的。
通過上圖,我們可以很明顯的看到。nginx已經正常啟動,並且也可以正常訪問。
現在我們看看nginx執行的使用者,如下:
ps -aux|grep nginx
通過上圖,我們可以看到目前nginx執行在nobody使用者下。
3.3 配置Nginx支援php
nginx安裝完畢後,我們就需要來配置nginx使其支援php,並且我們也要配置nginx,讓wordpress以虛擬主機的形式進行安裝。
我們先來配置有關php的選項。
在nginx的配置檔案把有關fastcgi有關的註釋項,全部去掉。如下:
vi /usr/local/nginx/conf/nginx.conf
location ~ .php$ {
root 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配置主頁。就是新增index.php檔案,如下:
location / {
root html;
index index.php index.html index.htm;
}
現在我們來測試下,nginx有關php的配置是否正確。編輯index.php檔案,加入<?php phpinfo();?>,如下:
vi ./html/index.php
現在來測試下nginx配置是否正確,然後優雅的重啟nginx,使用如下命令:
/usr/local/nginx/sbin/nginx –t
/usr/local/nginx/sbin/nginx -s reload
通過上圖,我們可以看到目前nginx已經可以正常的支援php。
3.4 配置Nginx支援虛擬主機
nginx有關php的配置完畢後,我們現在來配置nginx虛擬主機。
其實nginx的配置很簡單,整個配置檔案。只有一個http標籤,而虛擬主機的配置就是一個一個server標籤。
但是server標籤必須在包含在http標籤中,這樣說的目的是server標籤既可以在http所在的配置檔案,也可以以單獨的檔案存在,但是需要在http標籤中使用include進行包含。
下面是我配置的一個虛擬主機a.ilanni.com,如下:
vi /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name a.ilanni.com;
root /ilanni/a.ilanni.com/;
index index.php;
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
注意,我現在是把a.ilanni.com這個虛擬主機的根目錄存放在/ilanni/a.ilanni.com/這個目錄下,並且該目錄的使用者及使用者組為root,如下:
為了和前面nginx的預設主頁進行區別,我現在把虛擬主機a.ilanni.com的主頁,使用的是一個php探針。
以上虛擬主機配置完畢後,我們來重啟下nginx,如下:
/usr/local/nginx/sbin/nginx –t
/usr/local/nginx/sbin/nginx -s reload
通過上圖,我們可以很明顯的看到。目前虛擬主機a.ilanni.com,已經可以正常訪問,可以顯示的確實我提到的php探針。
四、wordpress安裝
以上我們把wordpress安裝是,所需要的mysql資料庫、nginx web伺服器都已經搭建完畢。
現在我們把wordpress安裝包,上傳到伺服器上進行解壓,如下:
scp wordpress-4.0-zh_CN.tar.gz root@192.168.1.213:/ilanni
tar -xf wordpress-4.0-zh_CN.tar.gz
把解壓後的檔案複製到虛擬主機a.ilanni.com根目錄下,如下:
cp -rv ./wordpress a.ilanni.com/
開始安裝wordpress,在瀏覽器中訪問a.ilanni.com,如下:
填寫mysql資料庫的相關資訊。如下:
複製該資訊到檔案wp-config.php中,如果該檔案不存在,則在a.ilanni.com根目錄下,建立wp-config.php檔案,如下:
vi wp-config.php
設定部落格的相關悉尼型,如下:
提示已經安裝成功,如下:
訪問虛擬機器a.ilanni.com主頁,如下:
到此有關在nginx下安裝wordpress部落格,已經完成。
本文轉自 爛泥行天下 51CTO部落格,原文連結:http://blog.51cto.com/ilanni/1558446
相關文章
- 如何用虛擬主機搭建一個部落格/blog?
- 使用Docker搭建WordPress部落格(三)nginx映象製作DockerNginx
- 部落格網站怎樣選擇虛擬主機網站
- Nginx虛擬主機配置Nginx
- 個人部落格搭建( wordpress )
- Nginx虛擬主機VirtualHost配置Nginx
- nginx虛擬主機實戰Nginx
- 如何搭建一個WordPress部落格?
- 007.Nginx虛擬主機Nginx
- Nginx實戰(一) 虛擬主機Nginx
- nginx多個虛擬主機noinputfilespecifiedNginx
- 使用WordPress搭建一個專屬自己的部落格
- 虛擬主機商如何搭建下一代虛擬主機
- 使用docker搭建nginx掛載hexo部落格DockerNginxHexo
- WordPress 搭建個人部落格/站點
- 2021年Wordpress部落格搭建
- Windows下搭建Wordpress部落格網站Windows網站
- 如何用WordPress搭建自己的部落格(轉)
- 一款完美版niRvana 4.5.3輕擬物部落格主題 WordPress主題
- 配置nginx多例項(不同於虛擬主機)Nginx
- 利用docker快速搭建hexo部落格DockerHexo
- 利用github hexo搭建部落格GithubHexo
- Nginx配置之基於域名的虛擬主機Nginx
- nginx基礎篇之虛擬主機實戰Nginx
- hugo + nginx 搭建部落格記錄GoNginx
- 【實戰】爛泥:netuse命令使用(一)
- 雲虛擬主機搭建Discuz論壇示例
- 阿里雲 虛擬主機 搭建官網阿里
- 基於Linux的虛擬主機搭建Linux
- 利用GITHUBpage搭建個人部落格Github
- 零基礎虛擬主機簡單安裝wordpress教程
- 虛擬機器開發進展(轉向iteye部落格)虛擬機
- Nginx執行控制虛擬主機和訪問控制Nginx
- Nginx虛擬主機常用配置(學習筆記四)Nginx筆記
- 福音 虛擬主機
- nginx之 nginx虛擬機器配置Nginx虛擬機
- 【Nginx】nginx虛擬機器設定Nginx虛擬機
- WordPress主題 Hankin v2.0.1部落格主題模板