Hello大家好,我是小張,今天這篇文章介紹一下如何用 WordPress 搭建屬於自己的博客,從 0 到 1 手把手教學
目前個人博客的搭建方式大致分為兩類
- 博客前端、后端完全由自己開發,整體從 0 到 1 實現部署;這種方式對於技術大佬來說並不難,但多多少少是有技術門檻的,因此很多同學會選擇第二種方法
- 借助成熟的第三方代碼模板,官方會為我們提供一套比較成熟的博客代碼庫;我們只需要將代碼部署到雲端即可,不需要自己從頭開發;目前主要有兩種方式:
- WordPress,需要自己提前准備一台雲端服務器;
- Hexo;hexo作為一個輕量級博客框架,也是目前大部分人搭建博客方式,代碼托管到 Github 倉庫,無需我們提供服務器;
1 前提准備
本文選擇用 WordPress 來搭建個人博客,開始之前首先要有一台服務器、以及一個備案后的域名;
- 服務器可以在阿里雲、騰訊雲上購買,配置不需要太高,對於個人博客來說,1 核2G 就足夠了。
- 域名也是需要在第三方雲平台上購買,但與服務器相比,域名要便宜許多:一年幾十塊就足矣,但比較麻煩的是域名需要經過備案才能使用。
1.1 雲服務器
本次實驗選用1核1G的雲服務器,寬帶為按量收費,0.8元/小時;
1.2 域名
域名的話,選擇子域名 test.zeroingpython.top
;
1.3 DNS 解析
DNS 解析的目的是將服務器域名轉化為服務器的 ip 地址,這樣瀏覽器輸入網站域名后時,DNS 系統就能根據 域名 查詢到相應服務器 ip,根據公網 IP 查詢內部資源。
這里可以借助阿里雲的 DNS 解析服務, 登錄 阿里雲控制台,搜索 【雲解析DNS】 服務,找到域名解析下的某個域名,點擊【解析設置】
點擊【添加記錄】,然后,右面彈出框中輸入記錄相關信息,輸入完成后,點擊【確認】即可
- 記錄類型:選擇 A ,因為大部分服務器指向的都為IPV4;
- 主機記錄:子域名信息;
- 解析線路:默認即可;
- 記錄值:服務器的公網IP (類似於 198.2.12.12 格式);
- TTL :10分種;
操作完成后如下:
申請 ssl 證書
目前大部分網站傳輸協議是 HTTPS ,但依然還有部分依舊使用 HTTP,相對后者來說,前者在數據傳輸過程中是經過加密處理的,相對較為安全一些;並且對於大部分瀏覽器來說,若使用的依舊是 HTTP 協議的話,網站在訪問時會出現【不安全】標記;
而 HTTPS 的數據加密過程需要借助 SSL證書,SSL證書是綁定域名來使用的,證書的申請同樣可以在阿里雲平台實現
進入阿里雲 的 【SSL證書】服務,點擊【免費證書】-> 【創建證書】(對於每個阿里雲賬號,每年會有20個免費證書供我們使用,對於一般網站來說,免費證書就已經夠用了)
點擊【證書申請】,填寫證書申請的一些信息,域名為剛剛DNS解析的域名,域名驗證方式選擇【自動DNS驗證】
去 【雲解析DNS】服務,與 章節 1.3 方式相同,填寫下面信息,進行 DNS 解析驗證;
解析完畢后,回到 SSL 證書申請頁面,點擊驗證,會發現現在已經驗證成功了,最后點擊【提交審核】,證書大概經過1-2分鍾之后就能審核通過了
2 環境配置
WordPress 搭建需要 Mysql 、Apache 以及 PHP 環境,因此在正式部署之前需要在服務器中安裝下 mysql 和 apache 及 PHP環境;
**2.1 yum 命令 安裝 Mysql **
- 本地安裝 rpm 包,連接如下:https://dev.mysql.com/downloads/repo/yum/;安裝之前需要保證centos 版本與 mysql rpm 包一致(否則后面安裝會出現問題),例如 centos7.* 對應 el7;
- 將本地下載的 rpm 包通過 scp 命令 傳輸到服務器中,Linux 及 Mac OS 命令行都自帶有該命令,Windows 打開 powerShell 即可,(也可以通過 xtfp 文件傳到移動端
scp mysql80-community-release-el8-3.noarch.rpm root@47.94.143.123:/opt
- yum 安裝 rpm 包
yum install mysql80-community-release-el8-3.noarch.rpm
- 檢查已成功安裝 MySQL Yum 庫;
yum repolist enabled | grep "mysql.*-community.*"
- yum 安裝
mysql-community-server
yum -y install mysql-community-server
- 啟動 mysqld 服務
systemctl install mysqld
- 查看 mysqld 服務運行狀態
systemctl status mysqld
mysql 在初始化時,會創建一個super用戶 root,同時會生成臨時密碼到 log 文件中;
- 查看 mysql 初始化臨時密碼
grep 'temporary password' /var/log/mysqld.log
(=(Cew,rr2/:
- mysql 登錄,輸入密碼登錄
mysql -uroot -p
- 重置密碼(Mysql 默認密碼更改會有字符驗證,必須包含一個大寫,一個小寫,及一個特殊字符和一個數字)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass4!';
以上完成之后,mysql 即為安裝成功,可以自己在本地端通過 navicat 通過 SSH 嘗試着聯一下 mysql;
安裝 apache
- 安裝 apache
yum -y install httpd
- 設置 apache 開機即啟動
systemctl enable httpd.service
- 啟動 apache
systemctl start httpd.service
啟動之后,在瀏覽器中輸入IP,出現類似下面頁面,即 apache 配置成功
- Apache默認將網站的根目錄指向/var/www/html ,即為后面 wordPress安裝目錄
- 默認的主配置文件/etc/httpd/conf/httpd.conf
- 配置存儲在的/etc/httpd/conf.d/
安裝php(種方式)
方法一:
- 添加 php 到 yum軟件倉庫
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
- 安裝 php
yum install php
- 查看php版本:
php -v
PHP 5.4.16 (cli) (built: Apr 1 2020 04:07:17)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
- 創建 /var/www/html/phpinfo.php 腳本,並寫入
<?php phpinfo( ); ?>
nano /var/www/html/phpinfo.php
- 重啟 apache
systemctl restart httpd
- 瀏覽器訪問服務器 ip/phpinfo.php 看到以下頁面即安裝成功;
**卸載 php **
- 查找服務器已安裝的 php 庫
rpm -qa | grep php
- 卸載
yum remove "php*"
方法二
Centos7 安裝 php7
- 啟動 Remi 存儲庫
yum install epel-release yum-utils
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
- 啟動PHP 7.3 Remi 存儲庫
yum-config-manager --enable remi-php73
- 安裝 php7.3 以及一些常見 php 模塊
yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
- 安裝 成功后,查看 php 版本
php -v
PHP 7.3.33 (cli) (built: Nov 16 2021 11:18:28) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.33, Copyright (c) 1999-2018, by Zend Technologies
WordPress安裝
- 服務器登錄 mysql
mysql -uroot -p
- 創建數據庫
wordpress
create database wordpress;
- 下載 WordPress 安裝包兩種方式,本地下載后上傳或者 借助 wget 工具;
wget https://cn.wordpress.org/latest-zh_CN.zip
- 解壓已安裝好的壓縮包
tar zxvf wordpress-5.9-zh_CN.tar.gz
- 將解壓后wordpress下的全部文件copy到
/var/www/html
文件夾下
cp -r wordpress/* /var/www/html/
- cd 到
/var/www/html
文件下
cd /var/www/html/
- 備份一份
wp-config-sample.php
文件
cp wp-config-sample.php wp-config.php
- 編輯
wb-config.php
vim wb-config.php
- 找到下面幾個選項,進行配置
# 數據庫名
define( 'DB_NAME', 'wordpress' );
# 數據庫賬戶
/** Database username */
define( 'DB_USER', 'root' );
# 數據庫密碼
/** Database password */
define( 'DB_PASSWORD', 'MyNewPass4!' );
# 主機,默認 localhost即可
/** Database hostname */
define( 'DB_HOST', 'localhost' );
更正以上選項之后,按下 esc,輸入 wq!
對腳本保存並退出;
apache域名配置,ssl證書安裝
- 為 apache 安裝 mod_ssl 模塊
yum install mod_ssl
- 更改 apache 配置文件
/etc/httpd/conf/httpd.conf
,啟動 ssl、重寫模塊
vim /etc/httpd/conf/httpd.conf
在 User apache
前面加入以下兩行代碼
LoadModule ssl_module modules/mod_ssl.so
LoadModule rewrite_module modules/mod_rewrite.so
保存並退出
- 阿里雲下載 apache 證書到本地,並上傳至服務器
- 查看服務器上
Apache/conf/conf.modules.d
文件夾是否存在,若不存在則創建
cd /etc/httpd/conf/conf.modules.d
> -bash: cd: /etc/httpd/conf/conf.modules.d: No such file or directory
mkdir /etc/httpd/conf/conf.modules.d
- 打開
Apache/conf/conf.modules.d/ssl.conf
,根據自己配置文件,復制下面信息到里面
vim /etc/httpd/conf/conf.modules.d/ssl.conf
<VirtualHost *:443>
ServerName www.test.zeroingpython.top
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 # 添加SSL協議支持協議,去掉不安全的協議。
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # 修改加密套件。
SSLHonorCipherOrder on
SSLCertificateFile "7198869_test.zeroingpython.top_public.crt"
SSLCertificateKeyFile "7198869_test.zeroingpython.top.key"
SSLCertificateChainFile "7198869_test.zeroingpython.top_chain.crt"
</VirtualHost>
- ServerName;為域名:
- SSLCertificateFile:為 ssl 證書 top_public.crt 的路徑
- SSLCertificateKeyFile: 為ssl 證書 key 的路徑
- SSLCertificateChainFile: 為ssl 證書 top_chain.crt 的路徑
保存后關閉
- 重啟 apache
systemctl restart httpd
Wordpress 網站配置
瀏覽器訪問 https://你的域名/wp-admin/install.php
,進入下面的頁面,代表你以上所有配置都已經ok了,最后對你的網站做一些簡單配置例如后台用戶、密碼等等;
- 配置好你的站點
點擊安裝 Wordpress ,回跳到以下頁面
點擊登錄,輸入之前自己配置好的賬號密碼,即可進入 wordpress 后台,
關於文章撰寫、發布都可以通過點擊左側菜單欄來處理,除此之外,可以安裝一些好看的主題、插件來豐富你的個人博客!
至此基於 WordPress 的個人博客,算搭建完成了,剩下后面就是一些美化工作。