云服務器使用WordPress搭建個人博客并綁定域名全記錄
一直在續(xù)費云服務器,索性充分利用資源,復古一下,鼓搗個小博客記錄些東西缕贡。 現(xiàn)在大致已經(jīng)搭好博客了,那就先把這折騰了一整天的建站過程給記錄下拣播。
關于服務器
前幾年購入的Vultr的ECS晾咪,東京的相對性價比高一些,延遲和網(wǎng)速都很穩(wěn)贮配,現(xiàn)在(2019.1)還有3.5刀一個月的谍倦,非常實惠。
安裝 Apache2泪勒、MySQL剂跟、PHP
sudo apt-get install apache2
sudo apt-get install mysql-server mysql-client
測試一下Apache2是否成功安裝:瀏覽器訪問云服務器的IP,安裝成功的話會顯示Apache2的默認頁面酣藻,It works。 安裝php7.0鳍置,并安裝apache的php擴展辽剧,再安裝整合mysql和php的工具
sudo apt-get install php7.0
sudo apt-get install libapache2-mod-php7.0
sudo apt-get install php7.0-mysql
重啟一下Apache2和MySQL
sudo service apache2 restart
sudo service mysql restart
安裝 phpmyadmin 這是一個以PHP為基礎,以Web-Base方式架構在網(wǎng)站主機上的MySQL的數(shù)據(jù)庫管理工具税产。
sudo apt-get install phpmyadmin
開啟 apache 的 mod_rewrite怕轿,再重啟一次apache
sudo a2enmod rewrite
sudo service apache2 restart
先登錄mysql mysql -u root -p
,輸入密碼 首先創(chuàng)建名為“wordpressdb”數(shù)據(jù)庫辟拷,然后查看創(chuàng)建的數(shù)據(jù)庫是否成功撞羽。
create database wordpressdb;
show databases;
看到圖中出現(xiàn)自己創(chuàng)建的數(shù)據(jù)庫。
給用戶服務權限衫冻,下面的wordpressuser改為安裝mysql時自己輸入的用戶名诀紊。
GRANT ALL PRIVILEGES ON wordpressdb.* TO wordpressuser@localhost;
FLUSH PRIVILEGES;
輸入 exit;
退出mysql,并再次重啟服務隅俘。
sudo service apache2 restart
sudo service mysql restart
下載并配置WordPress
用wget從WordPress官方網(wǎng)站下載安裝包邻奠,放在 /var/www/html/ 目錄笤喳,然后解壓。 (最新版下載鏈接在 https://cn.wordpress.org/download/ 里面有)
cd /var/www/html/
sudo wget https://cn.wordpress.org/wordpress-5.0.3-zh_CN.zip
sudo tar zxf wordpress-4.9.4.tar.gz
在 /var/www/html/wordpress/wp-content/ 下創(chuàng)建uploads碌宴。 然后更改上傳目錄權限杀狡,不然之后博客上傳不了圖片。
sudo mkdir uploads
sudo chown -R www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress
sudo chown -R :www-data /var/www/html/wordpress/wp-content/uploads
配置wp-config-sample.php 贰镣,該文件在/var/www/html/wordpress/下
sudo vi wp-config-sample.php
修改方法如下圖所示:
瀏覽器訪問 http://服務器IP地址/wordpress 呜象,如果安裝正常則進入wordpress的安裝界面。 安裝好后的效果如圖:
到此建站完成碑隆。接下來申請域名并綁定服務器恭陡。
申請域名并配置DNS
通過比價網(wǎng)站可以先大致看一下想要的域名價格 https://www.domcomp.com/
看了一下知乎,大家推薦的域名供應商有 NameSilo 干跛、Namecheap子姜、Porkbun、GoDaddy等楼入,親測了一遍哥捕,發(fā)現(xiàn) NameSilo 用戶界面太丑;Namecheap 實際并不 cheap嘉熊;最多人說的 GoDaddy 也偏貴但是支持支付寶遥赚,Porkbun 性價比高而且界面友好。 因為有境外支付的信用卡就不考慮 GoDaddy 了阐肤,直接在 Porkbun 上下單了一個 .com 域名凫佛,首年不到 7刀,續(xù)費 8.7刀孕惜。
值得一提的是支付時好幾張卡支付失敗愧薛,建行、農(nóng)行都不行衫画,換了廣發(fā)的萬事達才支付成功毫炉,有點迷。 付款后主頁可以看到自己域名的各種詳情削罩,然后要設置的是 DNS RECORDS
點擊Edit瞄勾,添加兩個A記錄,分別是帶www和不帶的域名弥激,ANSWER填自己的主機地址进陡。
兩個NS填DNS提供商的,這里因為Vultr自帶了免費的DNS服務微服,直接填上去即可趾疚,具體的DNS地址可在Vultr的設置頁里找。 下圖就是設置頁,可以看到底下有兩條DNS地址盗蟆,填到 Porkbun 里戈二,然后還要在 Vultr 里 Add Domain立莉,綁定服務器到域名贞盯。
兩邊都操作完成后憎夷,靜候幾分鐘航徙,然后訪問一下自己的域名炕泳,應該就出來了斧散。
常見問題
在儀表盤的設置中不小心更改了wordpress地址后回不到后臺
在建站過程中搭独,如果改動了 wordpress地址或站點地址鸿市,就回不到后臺了节值。
解決方法:網(wǎng)站首頁在wordpress目錄下的index.php中的require這行的內(nèi)容徙硅。
下圖是wordpress下index.php的require所在行的內(nèi)容。
最開始wordpress url是: 主機ip/wordpress搞疗。 它會自動去找index.php嗓蘑,然后就通過index.php里面的內(nèi)容加載wordpress環(huán)境,更改了url后匿乃,就不能自動去找index.php了桩皿。此時后臺也無法登錄。解決這個問題幢炸,直接進數(shù)據(jù)庫修改相關數(shù)據(jù)即可泄隔。操作如下。
mysql -u root -p //然后輸入密碼
show databases; //顯示所有數(shù)據(jù)庫
use wordpressdb; //選中你自己網(wǎng)站對應的數(shù)據(jù)庫宛徊。
show tables; //顯示該數(shù)據(jù)庫所有表格佛嬉。
select * from wp_options where 1=1 limit 10; //查看數(shù)據(jù)庫前10條記錄
update wp\_options set option\_value='http://服務器ip(或域名)/wordpress' where option_name='siteurl';//(如果home也改了就也改回來)
update wp\_options set option\_value='http://服務器ip(或域名)/wordpress' where option_name='home';
其實就是改變了wordpress url ,則wp_options表中的siteurl的值變化了闸天,只要把它在修改過來就行暖呕。
使用服務器IP(或域名)根地址直接訪問網(wǎng)站首頁
此文章的建站方法是把所有東西都放在wordpress目錄下,因此建完后苞氮,訪問網(wǎng)站的網(wǎng)址為:主機IP/wordpresss湾揽。
通常情況下,我們會買一個域名與云主機IP綁定葱淳,輸入IP地址只能訪問根目錄。 即/var/www/html抛姑,但是無法訪問其下面的子目錄赞厕。
以下將給出解決方案。如果使主機IP直接定位到網(wǎng)站首頁定硝。
第一種解決方式是把wordpress的內(nèi)容直接都弄到根目錄中皿桑,這是不提倡的,會使根目錄變得雜亂。通常推薦第二種方案诲侮。
第二種方案操作如下: 登錄后臺镀虐,打開 設置→常規(guī),修改站點地址沟绪。
WordPress地址是本體存放的地址刮便,按本文安裝的話就不用改動了。 站點地址是瀏覽器訪問的地址绽慈,改為 “http://服務器IP(或域名)” 的形式恨旱,如下圖即可。
同時坝疼,打開 設置→固定鏈接搜贤,把固定鏈接修改成如下形式:(去掉中間的/wordpress/)
至于文章后綴名,網(wǎng)上有關WordPress永久鏈接設置的介紹眾多钝凶,普遍認為 /%postname%.html
是最佳的自定義永久鏈接形式仪芒。
這種形式將顯示為:http://你的域名/日志標題.html,簡單明了耕陷,有利于SEO掂名。但當你的日志標題是中文時,文章標題以中文形式出現(xiàn)啃炸,看上去很不符合標準铆隘,或者可能會出現(xiàn)如:%64%b3%e8%ae%ar%e6%ba%a7%e5%9.html 類似亂碼的顯示。因此需要在編輯文章時南用,標題下面固定鏈接項膀钠,點擊編輯,用拼音或英文輸入文章標題裹虫。
然后把wordpress目錄下的index.php 和 .htaccess文件復制一份到根目錄下肿嘲,.htaccess 是隱藏文件,可以使用ls -all筑公。將其顯示出來雳窟。注意是復制文件,原來目錄下還存在匣屡。
cd /var/www/html/wordpress/
cp index.php /var/www/html/
cp .htaccess /var/www/html/
然后使用vim修改.htaccess文件的內(nèi)容為下圖所示封救。(默認文件如果就是如此則跳過該步驟)
修改index.php文件,因為index.php文件是wordpress下index.php的復制品捣作,因此文件內(nèi)部的require那一行的值當對于當前目錄誉结,是不正確的。同樣使用vim編輯該文件券躁,把require那一行路徑惩坑,修改成下圖那樣掉盅。
此時再輸入IP,看到還是It works界面以舒,那是因為安裝apache時趾痘,我們看到的It works界面其實是根目錄下的index.html。當index.html 和 index.php同時存在時蔓钟,默認還是打開index.html永票,所以應該把index.html移出該目錄。我們把它移出到其他目錄就行奋刽。
然后可能會產(chǎn)生下一個問題瓦侮,設置固定鏈接后,文章頁會404
解決方法如下:
sudo vi /etc/apache2/apache2.conf
把 AllowOverride None 改為 AllowOverride ALL
注意有兩處要改佣谐,然后操作一下
sudo a2enmod rewrite
sudo /etc/init.d/apache2 restar
刷新一下應該就能正常打開文章了肚吏。
主頁樣式修改
頁尾和功能模塊里的鏈接如果覺得礙眼,可以去除狭魂。
刪除頁尾“自豪地使用WordPress”字樣
如果是通過函數(shù)生成頁尾的主題罚攀,一般在模板函數(shù)那里修改,查找 "Proudly powered by" 的字樣刪掉就ok雌澄。
<a href=“<?php echo esc\_url( \_\_( ‘http://wordpress.org/’, ‘twentyeleven’ )); ?>” title=“<?php esc\_attr\_e(‘SemanticPersonalPublishing Platform’, ‘twentyeleven’ ); ?>” rel=“generator”><?php printf( __( ‘Proudly powered by%s’,‘twentyeleven’ ), ‘WordPress’ ); ?></a>
刪除功能小工具里的“文章RSS”斋泄、“評論RSS”、“WordPress.org”
打開組件文件夾:wp-include/widgets/class-wp-widget-meta.php 找到代碼段刪除即可镐牺。
<!\-\- 屏蔽 RSS 功能
<li><a href="<?php echo esc\_url( get\_bloginfo( 'rss2\_url' )); ?>"><?php \_e('Entries <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
<li><a href="<?php echo esc\_url( get\_bloginfo( 'comments\_rss2\_url' )); ?>"><?php _e('Comments <abbr title="Really Simple Syndication">RSS</abbr>'); ?></a></li>
-->