筆者一直很羨慕那些搭建了個人部落格的大牛,在最近工作之餘也嘗試着搭建了自己的部落格,曆時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!
最後,由于時間倉促,大部分時間都花在了踩坑上,還有一些小的坑大家也會碰到。大家千萬别放棄,有問題谷歌一下,如果實在解決不了或者我的教程有什麼錯誤,也可以留言,筆者水準有限,但是肯定會知無不言。