标签 php技术 下的文章

最近在解决一个项目现场问题的时候,我发现管理后台访问特别卡顿,几乎无法访问。首先说明一下,我们的管理后台是Apache+PHP+MySQL架构的。当我打开任务管理器的时候,看到httpd进程占用CPU只有不到10左右,就会影响到整个系统的正常使用了。这个现象很奇怪,我也是第一次遇到过。像其他项目上,并发高峰期httpd进程可能会占用CPU到50%~70%左右,但是,后台仍然是可以正常访问的。由此推断,这个可能和服务器的配置有关系,也和Apache对服务器资源的占用有关系,具体是什么关系,可能牵扯到的知识太多了,我也不可能全部掌握,再者说,项目出现问题了,我就要立刻解决掉,恢复正常使用。

既然CPU还有很多的资源可以使用,那么我就可以多创建几个Apache的进程做负载均衡来分摊这个并发压力。具体实现方法是,利用Nginx的反向代理模式把请求均匀地分配给三个Apache的服务。也就是说,Nginx作为请求的入口,它不做任何的逻辑处理,只是负责把请求分发给后端的Apache处理。

Nginx的关键配置代码截图如下所示

image.png

配置完成以后,刷新一下后台,也可以正常访问,在数据请求的高峰期可以看到三个Apache的进程都在处理请求。如图所示

image.png

这样三个Apache进程分摊了所有的请求,这个时候再刷新一下管理后台,发现很快就可以获取到数据。的确比之前一个进程访问的后台要快很多。

GitHub上面有很多好的代码,对于很多程序员来说有很大的吸引力。但是,有些代码在下载的过程中速度特别慢,有些就直接下载失败。如何解决这个问题,具体做法就是通过gitee中转一下。然后,我们再从gitee去下载就可以了,如图所示。

image.png

image.png




image.png


Typecho永久链接设置,启用地址重写功能后提示“重写功能检测失败, 请检查你的服务器设置”是什么意思?新手站长网分享Typecho重写功能检测失败, 请检查你的服务器设置的解决方法:

Typecho重写功能检测失败, 请检查你的服务器设置

Typecho永久链接设置开启地址重新rewrite功能,提示重写功能检测失败, 请检查你的服务器设置,一般是由于服务器或虚拟主机端伪静态规则没有设置的原因,勾选“如果你任然想启动此功能,请勾选这里”,这时候你会发现网站内页打不开了。这时候去设置一下伪静态规则,根据Web服务器环境选择对应的伪静态规则,新手站长网分享Apache和Nginx下的Typecho伪静态规则:

Typecho Apache伪静态规则:

创建.htaccess文件,复制下方伪静态规则,粘贴到.htaccess文件中,并将其上传到网站根目录。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Typecho Nginx伪静态规则

Nginx Web服务器环境安装不同,伪静态配置文件位置也不用,思路是复制下方Nginx伪静态规则,保存为typecho.conf文件,然后在网站配置文件中调用。

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

    rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
    rewrite (.*) $1/index.php;
}
if (!-e $request_filename){
    rewrite (.*) /index.php;
}

辽公网安备21010602000703号 备案号:冀ICP备2022001219号