前两天我用WordPress给自己搭建了一个网站,整个过程非常的顺利,体验非常地好,于是我就整个过程、以及其中的一些搭建心得,记录下来。
说到网站,其实我搭建过挺多个了。
从最开始的Hexo静态博客,到后来使用Django仿照Hexo-Next主题自己写了一个有后端的个人博客。
再后来又发现了Sphinx+Github+ReadtheDocs完美的文档编排组合,用了搭建了四个网站,分别是:
四个网站,用的都是三级子域名,可见在我心里,他们无论哪一个都无法成为我心中的个人网站。
原因有几点:
虽然有不少让我心痛的地方,但是它们却有流淌在基因里的优势:
好像扯远了,还是说回WP的网站搭建吧。
在教程之前呢,我先show一下我的成果,欢迎你去点点点~
在开始搭建网站之前,当然第一步是购买一个属于自己的『服务器』。
你可以选择如下渠道进行购买:
等的大厂服务器,不要贪图便宜去买国外的服务器厂商,因为速度很慢很多,很影响体验。
如果是学生可以在领券页面里找到学生专享,服务器9.5元/月,直接点击购买即可。不是学生也可以组团购买,更便宜,服务器购买就不多说了,拿钱就好了。
买了服务器后,你就会拥有一个公网ip,如果网站搭建起来了,你完全可以使用这个ip去访问,但仅供开发、测试使用。
如果要真正运营起来,想要有流量,还得搞一个域名,方便你推广。
域名的购买建议和上面服务器使用同一个厂商,可以省去一些麻烦。比如阿里云购买的域名要备案是需要你在阿里云下有一台服务器的。
由于后面我使用的是手工部署的方式,所以要登陆服务器进行操作。
登陆的方法有两种:
在使用这些远程登陆软件时,你需要在服务器厂商控制台上面先获取到三个信息
关于Xshell如何使用的,可以自行百度搜索,教程非常多。
可以到阿里云上去购买,选最低配置就足够啦,后续访问量起来了再扩容升级。
部署方式,可分为两种
那么如何选择呢?
使用宝塔部署,门槛低,只要会界面点一点即可。
而使用脚本自己手工部署,需要你学会
在这里建议大家跟着我使用第二种方法,也就是手工使用脚本进行部署。
原因有二:
LNMP是Linux+Nginx+MySQL+PHP组合的简写。
类似的组合还有:
其中:
这些软件一个一个安装比较费力,特别是数据库。
因此有人把这些软件的安装部署过程集成为一个Shell脚本,而你只要下载并执行它就可以了。简直不要太方便。
$tarzxflnmp1.5.tar.gz&&cdlnmp1.5&&./install.shlnmp接下来会出现大量的选项,如果你不是很懂各个选项间的区别,按默认就行啦
运行脚本后,首先会让你选择数据库的版本:
没有特殊需要,建议使用默认配置,直接回车或输入序号再回车。
选好数据库,会让你设置数据库root用户的密码,此时如果你直接回车,会默认设置为lnmp.org#随机数字,
在输入密码的时候,对于新手有一点注意:如果输入有错误需要删除,需要按住Ctrl再按Backspace键进行删除。
密码输好后,回车进入下一步
询问是否需要启用MySQLInnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入y。
如果确定确实不需要该引擎可以输入n,(MySQL5.7+版本无法关闭InnoDB),输入完成,回车进入下一步:选择PHP版本,建议安装PHP7+的版本
回车进入下一步,选择是否安装内存优化:
可以选择不安装、Jemalloc或TCmalloc,输入对应序号回车,直接回车为默认为不安装。
按提示输入对应版本前面的数字序号,回车。
如果显示Nginx:OK,MySQL:OK,PHP:OK
表明安装成功。
最后几行的输出
安装好后,使用如下指令查看nginx配置文件(如果你的服务器上找不到该文件,那请使用find/-namenginx.conf搜索一下)
$cat/usr/local/nginx/conf/nginx.conf你会看到如下内容:
上图表明,安装好的nginx将网站的根目录设置为/home/wwwroot/default,这个可以根据自己的喜好进行修改。
其实这就是一个简单的网页demo了,自己随便修改index.html,就会有不同的内容。
上一步安装的LNMP,只是保证了WordPress的基本运行环境。
想要把你的个人网站跑起来,咱还需要安装WordPress。
方法也很简单,下面跟着操作就行。
第一步:安装wordpress安装包并解压到/home/wwwroot
$mysql-uroot-pEnterpassword:MySQL>createdatabasewordpress;第三步:使用vim修改nginx配置文件(不会vim的自行百度)
$vim/usr/local/nginx/conf/nginx.conf找到网站根目录位置,如下图所示:
修改成如下内容:
随后,使用wq保存配置退出即可。
验证nginx是否有配置错误:
$nginx-t如果出现ok,successful字样,说明没有错误。没有错误,重新加载nginx:
$nginx-sreload修改wordpress目录权限:
现在就开始,进行安装。填写信息如下:
其中,***改为你设置的MySQL数据库密码。点击提交,出现如下内容:
在/home/wwwroot/wordpress下,创建并编写wp-config.php文件:
最后点击安装WordPress,安装成功会出现如下界面:
此时你看到的这个网站,是wordpress默认为你安装的免费主题(应该有三个),可能并不是那么的好看,但没关系,后面我会教大家如何挑选一个自己合适的主题,把你的网站装扮得有模有样。
到这里,你的网站部署已经全部完成,但是还差最后一步,也是使用WordPress最为核心的一步:让你的网站看起来更加专业,更加成熟。
为此我们需要做两件事:
同样都使用的WordPress的网站,外观上却天差地别。有的很酷炫,有点很简约,这是因为选了不同的主题(可以理解为皮肤)。
在你安装完WordPress后,本身就自带了几个免费的主题。
几乎没人会使用它们,因为实在没什么亮点(就是丑)。
在WordPress的自带了主题商店,里面有大量的免费主题,各式各样的都有,可能有你喜欢的。
在这里要说明一点,我的主题不是在商店里安装的,而是我通过搜索引擎找到了一个比较清爽的主题,很符合我的审美,我装扮过后的效果如下。
1.WPUserAvatar
没有Gravatar怎么办?
只要装上WPUserAvatar这个插件就能可以使用WordPress媒体库中的图片作为默认头像了。
2.WP-PostViews
需要两步配置
第一步:设置显示的文字
第二步:在你要显示的位置写入如下代码
效果如下
3.PostViewsCounter
咦,上面已经安装了一个统计阅读量的插件,怎么这边又推荐一个。
上面那个统计阅读量的插件,其实做的比较粗糙。
这是什么意思。
比如同一个ip连续连刷10次,WP-PostViews的阅读量会+10,但如果你使用PostViewsCounter,这个规则可以由你来定,可以只显示一次。
安装完这个插件后,同样需要进行一些配置
为什么这里选择手动呢?
因为我发现不管在内容之前,还是在内容之后,显示的位置都比较尴尬(它会换行)。
如果你和我用一样的主题,想和我有一样的效果,那么你选择手动之后,还要按下图指示修改下代码,新增如下一段代码。
4.WPEditor.md
或许这是一个WordPress中最好,最完美的Markdown编辑器。
5.SimpleCustomCSS
在修改WordPress主题时,CSS修改是最经常用到的方法,比如调整字体、调整颜色、边距之类的都需要用到自定义的CSS代码。
虽然说WordPress本身提供了CSS修改的功能,不过使用起来有很多的弊端,其中最麻烦的一点就是每次更换或者更新主题之前的修改都会消失,需要重复的添加。
使用SimpleCustomCSS这个插件可以避免这种尴尬,安装后他会在外观下新增一个自定义CSS的选项。
6.LuckyWPTableofContents
点击目录可以直接跳转到对应位置。
7.百度搜索推送管理
百度搜索推送管理插件是一款针对WP开发的功能非常强大的百度和Bing搜索引擎收录辅助插件。
利用该插件,站长可以快速实现百度搜索资源平台和Bing站长平台URL数据推送及网站百度收录数据查询等。
目的在于进一步提升网站的百度和Bing搜索引擎收录效率,提升网站SEO优化效果;及帮助站长通过该插件了解网站百度收录数据情况,基于数据统计参考进一步对网站内容进行调整与优化。
具体使用方法比较复杂,自己百度一下吧
8.SmartSEOTool
SmartSEOTool是一款专门针对WordPress开发的智能SEO优化插件,与众多WordPress的SEO插件不一样的是,SmartSEOTool更加简单易用,帮助站长快速完成WordPress博客/网站的SEO基础优化。
先在后台按如下图示进行设置
但是这样不够,要使用固定链接,服务器还需要开启rewrite的功能。
如果你和我使用的是nginx,那么只要登陆服务器,在
/usr/local/nginx/conf/nginx.conf里的server里加上这一段(我放在倒数第二段)
location/{ if(!-e$request_filename){ rewrite(.*)/index.php; }}然后重启一下nginx
$systemctlrestartnginx6.2网站添加备案号如果你的域名已经备案了,最好将你的备案号放到底部(好像会有检查)。
一个好的排版,能够极大提升阅读体验,因此定制一个好的排版非常有必要。
今天再介绍另外一种:使用宝塔。
点击申请证书
选择免费的就好
填写你的域名后,支付订单(其实不要钱)。
然后点击详情,需要验证该域名是归你所有。
方法它会告诉你,登陆我的阿里云域名解析,根据如下提示去添加DNS解析规则
下载到本地后,你会得到一个zip包,解压一下,就可以看到证书文件及私钥。
因为我的博客使用的是Nginx,因此我该Nginx下的两个文件上传到我的服务器上的nginx目录下.
具体怎么上传呢?你可以使用远程拷贝软件,例如WinSCP,也可以使用lrzsz(推荐使用)。
传到哪个目录下呢?
先使用find命令查找一下你的nginx.conf路径
$find/-namenginx.conf/usr/local/nginx/conf/nginx.conf你的证书文件可以和nginx.conf放在同一目录下
/usr/local/nginx/conf接下来使用vim编辑该文件,找到server,添加如下行(server原本的内容我使用...表示,意思是不需要去动。)
server{listen443ssl;#注释掉该行 #listen80default_serverreuseport;#证书文件名称ssl_certificate1_iswbm.com_bundle.pem;#私钥文件名称ssl_certificate_key0_iswbm.com.key; ...}最后重启nginx
到这里,事情其实还没有结束,你还需要做两件事情:
使用vim编辑/usr/local/nginx/conf/nginx.conf,在原本server的前面加入下面这么一段代码
进入对象存储->域名管理,找到HTTPS配置的位置,点击修改配置。
将按钮置为开启状态,选择我们刚刚上传的证书。
设置完后,并不能立马使用
以上就是我搭建网站的全部总结,写了两个晚上,直到昨晚才完成。
好在最后Typora还是给我留了一条生路,它居然支持文件的版本控制,真是有惊无险,差点今天就要哭了。