个人服务器的简单优化

今天我们来谈谈个人服务器的简单优化,虽然说是简单优化,其实操作内容也是比较多的,为什么说是简单呢,是因为感觉个人能力有限,达不到大神级的人物,所以只能说自己的优化是简单的。因为我的个人博客使用的是WordPress,所以就以它为例进行优化,当然也不仅仅是WordPress有效,对所有的服务器都是有效的。我会从几方面进行优化,如WordPress的优化、PHP缓存优化等。

一、WordPress优化

如果你使用的是其它软件或系统,请略过此部分,直接进入第二部分。

针对于个人博客系统而言,WordPress已经比较成熟,本身系统优化无需做太多处理,只是根据个人安装平台的习惯,可能漏掉好多安全性操作,所以接下来就会介绍到。

1.1 URL静态化设置

先说一下URL网站静态化的好处:

  1. 让别人判断不出你用什么语言写的网站,这样一来安全性更高一些,而对网站而言,静态化相对来说不容易被黑(注意是相对的哟!);
  2. 静态化可以提高网站的响应速度,因为动态网站在访问时,需要多次调用数据库,只要有读写,那速度一定会有影响,所以静态化可以降低对数据库的读写,从而加快网站的响应速度;
  3. 静态化减少你对数据库的读写,也会影响别外一个参数,就是你网站的并发量,相对来说会有更高的并发响应;
  4. 更得于SEO,我们的博客是要给大家看的,如果百度靠前是我们希望的,所以静态化有利于搜索引擎对我们网站的抓取;
  5. 其它好处想到了再补进来……

好处讲完了,开始操作吧,打开WordPress后台,点击”设置”->”固定链接”,选择自定义结构,输入格式化信息”/archives/%post_id%.html”(如果记不住怎么写,可以点击”数字型”,在从后面补上”.html”即可),点击”保存更改”按钮。

在WordPress后台配置完成后,还需要对Nginx的配置文件进行修改,Nginx默认配置文件路径为”/etc/nginx/conf.d/default.conf”,接下来要对”location /”域加入如下代码:

location / {

if (-f $request_filename/index.html) {

rewrite (.*) $1/index.html break;

}

if (-f $request_filename/index.php) {

rewrite (.*) $1/index.php;

}

if (!-f $request_filename) {

rewrite (.*) /index.php;

}

}

整个配置文件截图如下所示。

接下来,重新启动服务即可。

1.2 WordPress目录安全设置

我们先来看一下配置文件(全路径为”/etc/nginx/nginx.conf”):

你可以看到这样一句话”user nginx”,这句话的意思是你所设置的网站,以”nginx”用户进行访问与管理,也就是说,当你打开浏览器访问你的网站时,就相当于用nginx这个用户访问你的网站数据信息,所以建议网站的访问用户可以使用nginx。接下来设置网站目录的访问用户并设置相应的权限(假设我们的站点目录在”/usr/share/nginx/html”下)。

# chown -R nginx.nginx /usr/share/nginx/html

# chmod -R 755 /usr/share/nginx/html

设置完成后就可以看到权限与用户了控制信息了(为了保证安全,部分信息已经进行了处理,请见谅)。

同时还需要将WordPress目录下所有文件设置为644权限,单独设置部分目录为775权限,操作如下:

# chmod -R 644 /usr/share/nginx/html/*

# chmod -R 775 /usr/share/nginx/html/wp-content

# chmod -R 755 /usr/share/nginx/html/wp-indcludes

# chmod -R 755 /usr/share/nginx/html/wp-admin

二、PHP缓存加速优化

PHP缓存优化插件有很多,我们这里使用XCache,需要大家注意的是,缓存优化插件虽多,但只要安装一个即可,不然的话,就会出现冲突等问题。接下来就是XCache的安装配置过程讲解。

2.1 XCache的安装

# mkdir /home/tools

# cd /home/tools

# wget http://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz

# tar -zxvf xcache-3.2.0.tar.gz

# cd xcache-3.2.0

上面的代码是下载并解压XCache,在编译安装之前,我们要找到”phpize”文件在我们机器上的位置,由于不同版本位置可能所以差异,所以需要我们进行查找。这一步很重要,因为查找到位置之后要执行一下才行。

# find / -name ” php-phpize ”

# /usr/bin/phpize

# ./configure –enable-xcache –with-php-config=/usr/bin/php-config

# make

# make install

2.2 XCache的配置

在XCache安装目录下,有一个”XCache.ini”的文件,此文件为XCache的配置模板,我们要把里面所有的内容复制到”php.ini”文件的最后,并做好相应的配置,配置信息如下所示。

;—————————————————————————————

; added by lixh for 2017-04-16.

; xcache config

;; this is an example, it won’t work unless properly configured into php.ini

[xcache-common]

;; non-Windows example:

extension = xcache.so

;; Windows example:

; extension = php_xcache.dll

[xcache.admin]

xcache.admin.enable_auth = On

; use http://xcache.lighttpd.net/demo/cacher/mkpassword.php to generate your encrypted password

xcache.admin.user = “mOo”

xcache.admin.pass = “md5 encrypted password”

[xcache]

; ini only settings, all the values here is default unless explained

; select low level shm implemenation

xcache.shm_scheme = “mmap”

; to disable: xcache.size=0

; to enable : xcache.size=64M etc (any size > 0) and your system mmap allows

xcache.size = 256M

; set to cpu count (cat /proc/cpuinfo |grep -c processor)

xcache.count = 1

; just a hash hints, you can always store count(items) > slots

xcache.slots = 8K

; ttl of the cache item, 0=forever

xcache.ttl = 86400

; interval of gc scanning expired items, 0=no scan, other values is in seconds

xcache.gc_interval = 3600

; same as aboves but for variable cache

xcache.var_size = 64M

xcache.var_count = 1

xcache.var_slots = 8K

; default value for $ttl parameter of xcache_*() functions

xcache.var_ttl = 0

; hard limit ttl that cannot be exceed by xcache_*() functions. 0=unlimited

xcache.var_maxttl = 0

xcache.var_gc_interval = 300

; mode:0, const string specified by xcache.var_namespace

; mode:1, $_SERVER[xcache.var_namespace]

; mode:2, uid or gid (specified by xcache.var_namespace)

xcache.var_namespace_mode = 0

xcache.var_namespace = “”

; N/A for /dev/zero

xcache.readonly_protection = Off

; for *nix, xcache.mmap_path is a file path, not directory. (auto create/overwrite)

; Use something like “/tmp/xcache” instead of “/dev/*” if you want to turn on ReadonlyProtection

; different process group of php won’t share the same /tmp/xcache

; for win32, xcache.mmap_path=anonymous map name, not file path

xcache.mmap_path = “/dev/zero”

; Useful when XCache crash. leave it blank(disabled) or “/tmp/phpcore/” (writable by php)

xcache.coredump_directory = “”

; Windows only. leave it as 0 (default) until you’re told by XCache dev

xcache.coredump_type = 0

; disable cache after crash

xcache.disable_on_crash = Off

; enable experimental documented features for each release if available

xcache.experimental = Off

; per request settings. can ini_set, .htaccess etc

xcache.cacher = On

xcache.stat = On

xcache.optimizer = Off

[xcache.coverager]

; enabling this feature will impact performance

; enabled only if xcache.coverager == On && xcache.coveragedump_directory == “non-empty-value”

; per request settings. can ini_set, .htaccess etc

; enable coverage data collecting and xcache_coverager_start/stop/get/clean() functions

xcache.coverager = Off

xcache.coverager_autostart = On

; set in php ini file only

; make sure it’s readable (open_basedir is checked) by coverage viewer script

xcache.coveragedump_directory = “”

# vi /etc/php.ini

复制XCache.ini文件的内容到最后,并更改参数,更改完成后保存退出。

# service php-fpm restart

2.3 Memcached、PDO_MYSQL扩展模块的配置

如果你使用的是YUM在线安装的PHP,并且已经安装了必要的插件(php-pdo 与php-pecl-memcache),那么Memcached及PDO_MYSQL就已经默认安装了,我们再把安装配置过程从新梳理一下。

# yum install php-pdo php-pecl-memcache –y

如果想编译安装最新的版本,可自行下载并安装,安装方法与XCache基本相同,这里就不过多描述了。

如果在线YUM安装,就会在”/usr/lib64/php/modules”目录下看到”memcache.so”与”pdo_mysql.so”文件(系统版本不同,可能路径有所差异,可以使用find命令来进行查找)。

由于”/usr/lib64/php/modules”为系统目录,环境变量系统默认引用,所以为我们解决了很多配置麻烦,接下来只要在”php.ini”配置文件最后加入如下几行即可。

# vi /etc/php.ini

; Added by lixh for 2017-04-22.

; memcache pdo_mysql

extension = memcache.so

extension = pdo_mysql.so

还需要对Nginx的配置文件进行修改,加入FastCGI的支持。

# vi /etc/nginx/conf.d/default.conf

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

root /usr/share/nginx/lixh_cn;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include /etc/nginx/fastcgi_params;

}

至此,服务优化已经完成。写文章太累人了~~~

转载请附上原文出处链接及本声明
李老师的博客 » 个人服务器的简单优化

发表评论

提供最优质的文章集合

立即查看 了解详情