之前寫過(guò)一篇,騰訊云+wordpress搭建個(gè)人博客暖侨,但是是使用amh面板椭住,簡(jiǎn)單粗暴構(gòu)建的,其實(shí)amh面板也是集成了nginx字逗,mysql京郑,php宅广,所以這次使用了原始的方法,構(gòu)建了一下個(gè)人博客
1.數(shù)據(jù)庫(kù)的安裝及配置
安裝方式
yum -y install mysql mysql-server
數(shù)據(jù)庫(kù)啟動(dòng)命令
/etc/init.d/mysqld start
數(shù)據(jù)庫(kù)登錄命令
mysql -u root –p
會(huì)出現(xiàn)如下反饋
沒有設(shè)置密碼的話就可以直接進(jìn)入到mysql命令行
接下來(lái)設(shè)置密碼就在mysql命令行
use mysql;
update user set password=password('yourpassword') where user='root';
flush privileges;
exit
//在原命令行
/etc/init.d/mysqld restart
//重啟數(shù)據(jù)庫(kù)
設(shè)置密碼如果出現(xiàn)問(wèn)題些举,還可以選擇這個(gè)方法
mysql_secure_installation
回車跟狱,根據(jù)提示輸入Y
輸入2次密碼,回車
根據(jù)提示一路輸入Y
開啟mysql數(shù)據(jù)庫(kù)遠(yuǎn)程訪問(wèn)權(quán)限
use mysql;
update user set host='%' where user='root';
flush privileges;
有可能會(huì)顯示
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
這說(shuō)明host已經(jīng)有了%這個(gè)值户魏,所以可以直接運(yùn)行命令
flush privileges;
然后在試圖遠(yuǎn)程連接服務(wù)器數(shù)據(jù)庫(kù)驶臊,再自己的電腦主機(jī)安裝navicat for mysql
安裝好之后
創(chuàng)建新的mysql連接,一定不要選擇ssh連接叼丑,就選擇常規(guī)連接关翎,主機(jī)名填自己的服務(wù)器ip,用戶名和密碼就是自己設(shè)置的服務(wù)器用戶名和密碼
然后就可以來(lái)創(chuàng)建wordpress使用的數(shù)據(jù)庫(kù)表了
CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)
然后創(chuàng)建新用戶及密碼
CREATE USER wordpressuser@localhost;
Query OK, 0 rows affected (0.00 sec)
SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)
創(chuàng)建wordpress數(shù)據(jù)庫(kù)和用戶聯(lián)系
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
2.安裝php和其他的組件
1.1安裝php5
yum install php
1.2安裝php其他組件
yum install php-mysql php-fpm php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
1.3啟動(dòng)php-fpm鸠信,查看是否監(jiān)聽端口以及地址
/etc/init.d/php-fpm start
chkconfig php-fpm on
netstat -tunlp |grep 9000
ps aux |grep php-fpm
3.nginx安裝和配置
首先得安裝一些必要的庫(kù),pcre纵寝、zlib等軟件包
yum -y install pcre* zlib*
PCRE(Perl Compatible Regular Expressions) 是一個(gè)Perl庫(kù),包括 perl 兼容的正則表達(dá)式庫(kù)星立。nginx 的 http 模塊使用 pcre 來(lái)解析正則表達(dá)式爽茴,所以需要在 linux 上安裝 pcre 庫(kù),pcre-devel 是使用 pcre 開發(fā)的一個(gè)二次開發(fā)庫(kù)绰垂。nginx也需要此庫(kù)室奏。命令:
zlib 庫(kù)提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對(duì) http 包的內(nèi)容進(jìn)行 gzip 辕坝,所以需要在 Centos 上安裝 zlib 庫(kù)窍奋。
yum install gcc-c++
安裝 nginx 需要先將官網(wǎng)下載的源碼進(jìn)行編譯,編譯依賴 gcc 環(huán)境酱畅,如果沒有 gcc 環(huán)境琳袄,則需要安裝:
yum install -y openssl openssl-devel
OpenSSL 是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),囊括主要的密碼算法纺酸、常用的密鑰和證書封裝管理功能及 SSL 協(xié)議窖逗,并提供豐富的應(yīng)用程序供測(cè)試或其它目的使用。
nginx 不僅支持 http 協(xié)議餐蔬,還支持 https(即在ssl協(xié)議上傳輸http)碎紊,所以需要在 Centos 安裝 OpenSSL 庫(kù)。
然后就是安裝nginx
$ cd /usr/local/
$ wget http://nginx.org/download/nginx-1.8.0.tar.gz
$ tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.8.0
$ ./configure --prefix=/usr/local/nginx
$ make
$ make install
啟動(dòng)命令
$ /usr/local/nginx/sbin/nginx
檢驗(yàn)一下是否成功
打開瀏覽器訪問(wèn)此機(jī)器的 IP樊诺,如果瀏覽器出現(xiàn) Welcome to nginx! 則表示 Nginx 已經(jīng)安裝并運(yùn)行成功
一些其他的命令
重啟:
$ /usr/local/nginx/sbin/nginx –s reload
停止:
$ /usr/local/nginx/sbin/nginx –s stop
測(cè)試配置文件是否正常:
$ /usr/local/nginx/sbin/nginx –t
強(qiáng)制關(guān)閉:
$ pkill nginx
可以想辦法將nginx設(shè)定為系統(tǒng)服務(wù)仗考,這樣可以不用輸入長(zhǎng)串的命令來(lái)啟動(dòng)和重啟
1.1新建文件:vim /etc/init.d/nginx
1.2在該文件添加如下的內(nèi)容
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
# 這里要根據(jù)實(shí)際情況修改
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
# 這里要根據(jù)實(shí)際情況修改
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
killall -9 nginx
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
1.3修改權(quán)限并開機(jī)啟動(dòng)
修改權(quán)限:chmod 755 /etc/init.d/nginx
開機(jī)啟動(dòng):chkconfig nginx on
1.4這個(gè)時(shí)候的啟動(dòng)命令
啟動(dòng)服務(wù):service nginx start
停止服務(wù):service nginx stop
重啟服務(wù):service nginx reload
這個(gè)時(shí)候修改nginx的nginx.conf配置文件
vim /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;
}
一定要注意將此處的scripts改成$document_root
然后在上方
location / {
root html;
index index.php index.html index.htm;
}
加入index.php選項(xiàng)
現(xiàn)在我們來(lái)測(cè)試下,nginx有關(guān)php的配置是否正確词爬。編輯index.php文件秃嗜,加入<?php phpinfo();?>,如下:
vi ./html/index.php
并刪除index.html
rm -f ./hrml/index.html
service nginx reload
生效
再次打開自己的ip地址
如果出現(xiàn)phpinfo()界面則成功
4.wordpress安裝和配置
1.1安裝
wget http://wordpress.org/latest.tar.gz
tar-xzvf latest.tar.gz
1.2配置
cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php
sudo nano ~/wordpress/wp-config.php
然后修改數(shù)據(jù)庫(kù)名,用戶名和密碼
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');
/** MySQL database username */
define('DB_USER', 'wordpressuser');
/** MySQL database password */
define('DB_PASSWORD', 'password');
這個(gè)時(shí)候你重啟nginx锅锨,重啟數(shù)據(jù)庫(kù)你就會(huì)發(fā)現(xiàn)叽赊,你可以進(jìn)入到wordpress安裝界面,開始你的安裝吧