博客搭建小结-更新

         经过几天的摸索,参考了网上很多篇教程,终于将博客搭建起来。很早就有建站的想法,只不过一直没有付诸行动,总是以各种理由拖延,今天将想法付诸实践。现在将步骤记录如下:

一、购买VPS,从网上搜索到搬瓦工的VPS

 


如果有需要,可以搭建ss服务器,网上还有kcptun等工具的双边加速,但是设置之后不成功,但是我的主要目的在于建站,就懒得折腾了。
二、注册域名
最重要的是免费!1年内免费!过期要续费,先上手再说。

 


三、dns解析
在这里选择了腾讯的dnspod
 
12月1日更新
了解了CDN(内容分发网络)的概念之后,去找CDN加速节点,最开始找到七牛,但是询问人工客服域名没有备案不准绑定域名,即不能用CDN加速,因此放弃。
然后找到incapsula免费CDN加速服务,但是上http://www.webkaka.com/Ping.aspx 测了之后,发现效果并不理想,因此找到百度云CDN。
采用百度云CDN我采用的是NS模式,需要去域名提供商那里更改DNS服务,因此到https://my.freenom.com/找到自己的域名更改两个DNS解析地址。
下面也是参考网上的设置,定义了三个规则针对网站进行缓存,测试之后发现效果不错。
12月3日更新
由于评论之后不能实时显示,通过刷新CDN缓存发现是CDN导致,因此去除百度CDN的NS服务,去域名提供商换回dnspod的NS解析,今后访问直连服务器!
这样的好处是评论之后可以实时刷新页面,坏处就是服务器位于国外,访问速度可能会慢,还有就是暴露真实IP,增加被攻击的风险。
用webkaka测试发现速度没有降低,甚至比原来还要搞一些。
 
四、安装LNMP一键包
用putty远程登陆服务器,填入VPS给的用户名和密码。(备注,可以采用SSH的方式,即生成密钥免除每次登陆都需要输入用户名和密码)
参照教程一步一步做
五、上传wordpress
用winscp上传wordpress的压缩包到VPS上,解压到指定目录


六、设置wordpress

浏览器打开网址,设置好之后进入管理员角色,来到dashboard
1、后台安装插件或主题都提示需要输入FTP信息
chmod -R 755 /home/wwwroot
chown -R www /home/wwwroot
这两个命令的意思是赋予用户权限,可以采用winscp远程登陆到服务器上更改wwwroot下面的权限。
2、WordPress只显示一个主题
修改/usr/local/php/etc下的php.ini,删去disable_functions函数中的scandir,然后用putty重启一下php进程“/etc/init.d/php-fpm restart”就可以了。
3、给网站添加 favicon(即网站地址左边的方形小图标)
这里我采用了小黄人的 favicon,上传到http://www.bitbug.net/转换,使用winscp将 favicon.ico 文件上传到服务器网站所在的安装文件夹内。登入博客后台,编辑主题文件 header.php,在 <head> 和 </head> 之间添加以下代码:
<link rel=”shortcut icon” href=”/favicon.ico” />
<link rel=”Bookmark” href=”favicon.ico” />
4、添加目录,设置 网站导航菜单,将目录包含到菜单中。需要注意的是菜单的意思是整合的导航菜单,是一个集合,包含了首页,关于、文章等栏目。
5、设置中的媒体选项中将图片全部设置为0,减少图片占用空间
6、插件选择
wordpress不要装太多插件,尝试了wpTouch,jetpack等等插件之后,发现拖慢速度,
于是都卸载了,目前只留下4个插件:
wp-super-cache,缓存插件,明显提升访问速度
BackWPup,定时备份到dropbox
WPJAM 七牛镜像存储,注册了免费的七牛存储空间,今后访问该站的css,js,image等都去七牛节点访问
WP-Optimize,优化数据库
7、页面底部footer.php编辑
我使用的是官方出品的Twenty_Sixteen模板,因此代码随着主题不同可能不同
(1)加入版权信息的文字
修改<div class= “site-info”> 这一段代码如下,中间的超链接和文字根据需要自己修改
<div align=”center” >
<?php esc_attr_e(‘Copyright ©  ‘, ‘preference-lite’); ?> <?php esc_attr_e(date(‘Y’)); ?> 
<a href=”http://www.deeprl.ml/”> DeepRL </a>
<?php esc_attr_e(‘  All rights reserved.’, ‘preference-lite’); ?>
</div>
(2)加入百度统计
在</body>之前加入百度给的代码
9、替换字体和头像 
(1)替换字体
4.5版本字体服务
修改这个文件  \wp-includes\script-loader.php,找到:fonts.googleapis,替换成:fonts.useso;无效!!!!反而速度更慢,后来查到是360CDN停止提供服务了!
通过firebug调试发现google字体是fonts.gstatic.com,ip来源于北京电信
12月4日更新wordpress到4.6.1版本,不需要google字体了!

(2)替换头像
gravatar头像cn.gravatar.com,ip来源于美国,需要更改http为https链接
把代码添加到主题目录下的functions.php文件最后即可,老版本代码如下:
function dmeng_get_https_avatar($avatar) {//~ 替换为 https 的域名
	$avatar = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com"), "secure.gravatar.com", $avatar);//~ 替换为 https 协议
	$avatar = str_replace("http://", "https://", $avatar);
	return $avatar;}
add_filter('get_avatar', 'dmeng_get_https_avatar');
12月5日更新头像解决方案代码!
注意现在网上的教程都没有将cn.gravatar.com列入替换名单,需要加入这个网址!此外,我不用https加密的方式了,改为七牛进行缓存。不过仍然需要测试,如果是未在本博客评论的头像是从哪里加载?如果发现七牛缓存上没有,自动前去cn.gravatar.com加载,这样才行,否则去七牛加载不到!
新版本代码如下:

 /**
 * 自定义gravatar连接
 */
function dw_get_avatar($avatar) {
$avatar = str_replace(array(“www.gravatar.com”,”0.gravatar.com”,”1.gravatar.com”,”2.gravatar.com”,”cn.gravatar.com“),”ohkak8tc8.bkt.clouddn.com”,$avatar);
return $avatar;
}
add_filter( ‘get_avatar’, ‘dw_get_avatar’, 10, 3 );

下面是更改之前的图,更新版本之后fonts请求服务没了!同样,cn.gravatar.com也没有了,是自己申请的七牛域名加载!这两项优化提升速度!

 

9、memcache 数据库优化
Memcached,分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。目前还没有做,等待流量大了之后再做
注意:Memcached,memcache 有两个,参考这篇文章,
我安装的是lnmp1.3版本中的默认memcache,因此下载的插件是
将object-cache.php上传到网站wp-content文件夹下
数据库查询测试语句
<!– <?php echo get_num_queries() . ‘ queries ,in ‘ . timer_stop(0) . ‘ seconds’; ?>–>
安装之前效果:每个页面有20多个查询,平均在0.5-1.5s左右,需要减少查询次数
安装之后效果:<!– 14 queries ,in 0.308 seconds–>
基本上降低了为原来的一半这样,可见效果还是非常好的!
此外,可以采用wpjam-debug插件查看sql语句,目前还不知道怎么优化。


想看Memcache的加速效果,这时候可以利用官网上的一个工具:http://pecl.php.net/get/memcache-3.0.8.tgz

解压后提取memcache.php上传到服务器网站根目录,根据里面的用户名密码,ip修改之后,访问后即可看到缓存效果:


 
10、php性能优化
安装opCache,由于采用了LNMP1.3安装包,内置了OPCache的模块,直接安装即可,php.ini我进去看过之后和网上的资料修改的一样,即仅仅需要安装即可!下面是安装之后的截图

 
七、VPS的性能优化
1、 重启nginx、php-fpm、mysql:

service nginx restart
service phpfpm restart
service mysql restart


2、加入定时重启功能
crontab命令每天凌晨4点重启服务器,需要注意的是需要采用date命令查看服务器时间,防止时区差异  
#设置开机启动Crontab
chkconfig crond on
#启动Crontab

service crond start

先列一下现有的Crontab看看:
crontab -l
提示为 no crontab for root

果然啥也没有,那就添加一条吧:

编辑命令:
crontab –e

按i进入编辑模式,输入

30 4 * * * root /sbin/reboot

表示 每天早上4:30分重启设备。按ESC 进入命令模式,输入:wq 保存退出。
最后重启crontab,使重启功能生效
service crond restart


八、服务器性能测试

这里介绍一条简单实用的VPS测试命令,可以测试VPS的下载速度,I/0,CPU信息等等。

wget freevps.us/downloads/bench.sh -O – -o /dev/null|bash

 

登陆VPS管理面板查看;采用UnixBench跑分,跑了940分;采用free -m,top等linux命令查看。
这是装好wordpress之后的服务器占用情况

测网速的话可以用http://www.webkaka.com/webCheck.aspx,2016年12月2号早上10点14分测速

2016年12月3日中午12点30分测试,可见结果还是不错的。拿来测试smzdm的网站,发现要20s!主要是加载了google的某项服务!

 

小结:

勤于动手,实践是最好的导师!
还有就是能够在网上找到资料,找到有经验的人请求帮助是多么幸福的事情啊!
而目前做的研究就是开创性的,国内同行很少,交流也少,网上资料也少,有种孤独寂寥的感觉!
参考:
1)http://www.jwcyber.com/tips-for-wp/#1_FTP
2)https://www.wpdaxue.com/tutorials/start/
3)https://www.zhihu.com/question/19760722
4)https://www.vpser.net/build/linux-vps-ssh-command.html
5)http://www.banwagong.com/337.html
6)https://www.freehao123.com/wordpress-php-mysql/
7)http://www.bitbug.net/

2 thoughts on “博客搭建小结-更新

  1. Pingback引用通告: 软件开发入门 – DeepRL

发表评论

邮箱地址不会被公开。 必填项已用*标注