天天看點

在騰訊雲上搭建WordPress部落格

筆者一直很羨慕那些搭建了個人部落格的大牛,在最近工作之餘也嘗試着搭建了自己的部落格,曆時1周,這篇文章就将踩過的坑記錄下來,先看下成果,[連結在此](http://123.207.47.186)

筆者一直很羨慕那些搭建了個人部落格的大牛,在最近工作之餘也嘗試着搭建了自己的部落格,曆時1周,這篇文章就将踩過的坑記錄下來,先看下成果,連結在此 

1- 購買騰訊雲主機

 騰訊雲官網,我選了79元/月的最便宜的主機(1核1G),但還是有點貴。 這裡遇到的坑主要是有,假如想用xshell等軟體遠端登陸主機,需要設定安全組。因為開始怕麻煩,我直接設定了放通全部端口。

2- Linux

 騰訊雲直接選擇CentOS 7.3主機(老司機推薦)

3- Nginx

wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar -zxvf nginx-1.8.0.tar.gzcd nginx-1.8.0
./configure --prefix=/usr/local/nginx

//  注意,我安裝在了/usr/local/nginx這個目錄下
//  給幾個重要的指令
//  vim /usr/local/nginx/conf/nginx.conf  
//  配置Nginx
//  /usr/local/nginx/sbin/nginx -s reload  
//  重新開機Nginx,如果第一次運作把-s reload都去掉
//  ps -ef | grep nginx  //檢視Nginx程序是否運作
           

4- PHP

 這部分是最需要當心的,因為wordpress需要PHP安裝好Mysql等配置,我這次安裝的是PHP7,我主要參考了這篇部落格。編譯安裝PHP7

wget http://php.net/distributions/php-7.0.0.tar.gz
tar -zxvf php-7.0.0.tar.gz
cd php-7.0.0
 
sudo yum install -y gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng 
libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 
bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel 
openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
 php-mysqlnd libmcrypt-devel  libtidy libtidy-devel recode recode-devel libxpm-devel
 
./configure     --prefix=/data/php7     --with-config-file-path=/data/php7/etc     --enable-mbstring     
--enable-zip     --enable-bcmath     --enable-pcntl     --enable-ftp     --enable-exif     --enable-calendar     
--enable-sysvmsg     --enable-sysvsem     --enable-sysvshm     --enable-opcache     --enable-fpm      
--enable-session     --enable-sockets     --enable-mbregex     --with-fpm-user=vagrant      
--with-fpm-group=nogroup     --enable-wddx     --with-curl     --with-mcrypt     --with-iconv    
 --with-gd     --with-jpeg-dir=/usr     --with-png-dir=/usr     --with-zlib-dir=/usr     --with-freetype-dir=/usr     
--enable-gd-native-ttf     --enable-gd-jis-conv     --with-openssl     --with-pdo-mysql=mysqlnd    
 --with-gettext=/usr     --with-zlib=/usr     --with-bz2=/usr     --with-recode=/usr      --with-xmlrpc     
--with-mysqli=mysqlnd
 
sudo yum install -y autoconf
./buildconf
make -j 4
make test
make install

//  給大家一些指令
//  pkill php-fpm  //殺死fpm程序
//  /data/php7/sbin/php-fpm  //啟動,先殺死再啟動
//  vim /data/php7/etc/php.ini  //php.ini檔案
           

5- MySQL

 這裡我也參考了這篇部落格中關于MySQL的安裝,CentOS 7 下 PHP 7,MySQL 5.7 和 Nginx 1.8 的安裝與配置

 務必要注意的是這句修改php.ini檔案,不然PHP會連不上MySQL的

mysqli.default_socket = /var/lib/mysql/mysql.sock
           

6- WordPress

 參考這篇文章搭建WordPress個人站點

 

需要注意的是其中一步
教程中是—— mv * /usr/share/nginx/html/
我的設定—— mv * /usr/local/nginx/html/
           

7- 修改Nginx配置

 vim /usr/local/nginx/conf/nginx.conf,配置如下~

 修改後記得要重新開機Nginx,ps -ef | grep nginx,ps -ef | grep fpm都要有程序才行。

worker_processes  1;
error_log  logs/error.log;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
	
    server {
        listen       80;
        server_name  localhost;

        location / {
			try_files $uri $uri/ /usr/local/nginx/html/wp-admin/index.php?p=$uri&$args;
			index  index.php;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        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;
        }
    }
}

           

8- WordPress工作台

 這個很簡單,看這個WordPress使用教程就知道怎麼使用了。

9- FTP

 使用wordpress需要經常使用插件,而更新插件需要建立FTP連接配接,于是開始設定FTP。參考Linux 搭建FTP伺服器,不需要了解原理的可以直接照着我這個操作。

yum -y install vsftpd

//  建立FTP使用者
useradd ftpusr
usermod -s /sbin/nologin ftpusr
passwd ftpusr

//  在wp-config.php檔案中添加腳本方式。
vim /usr/local/nginx/html/wp-config.php
//  添加下面三行
  define("FS_METHOD","direct");
  define("FS_CHMOD_DIR", 0777);
  define("FS_CHMOD_FILE", 0777);

//  網頁端輸入
FTP:xx.xx.xx.xx:20 (前面是你的IP位址)
使用者:ftpusr
密碼:ftpusr

done!
           
最後,由于時間倉促,大部分時間都花在了踩坑上,還有一些小的坑大家也會碰到。大家千萬别放棄,有問題谷歌一下,如果實在解決不了或者我的教程有什麼錯誤,也可以留言,筆者水準有限,但是肯定會知無不言。