怎么设置php fpm,怎样使PHP与MySQL数据库进行持久连接?
似乎你需要的是常驻内存的方案:workerman和swoole都是这样的开发框架。
nginx和apache通过php-fpm的cgi方案,每次一个http请求,等于php代码的一次执行,执行完后,资源就被回收了。
worker设置多少最佳?
1、php-fpm优化参数介绍 他们分别是:pm、pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers。
pm:表示使用那种方式,有两个值可以选择,就是static(静态)或者dynamic(动态)。在更老一些的版本中,dynamic被称作apache-like。这个要注意看配置文件的说明。动态请求并发为1000每秒?
你的机器是什么配置,一般来说,一个 php-fpm 进程在非服务状态下,占用 12-25M 的内存,在服务的时候,占用内存是多少,不同业务是不一样的,所以需要根据你的情况设置进程数。其他还需要考虑的就是 CPU 情况。另外,配置为 dynamic 还是 static 也需要根据业务情况定!
如何提升网站的打开速度?
网站速度优化如何影响转化
缓慢的速度确实会扼杀转化。实际上有47%的消费者希望网站在两秒钟或更短的时间内加载完毕, 而40%的消费者会放弃耗时三秒或更长时间的页面。
这意味着如果您的网站加载时间超过三秒钟,那么您将失去几乎一半的访问者,甚至无法访问他们。
仅此一项就对您潜在的转化带来了巨大的打击。然而对于决定留下来的访问者,缓慢的加载时间可以阻止他们将来返回。在一项调查中,有79%的客户表示他们不会返回效果不佳的网站。
最好的例子之一是沃尔玛提高网站速度后的转化率和收入提高。在最初的分析中,他们发现转换的访问者收到的页面加载速度是未转换的访问者的两倍。这表明页面越快,访问者进行购物的可能性就越大。
在网站速度优化结束时,沃尔玛报告了以下结果:
网站速度每提高一秒钟,转化率就会提高2%。每提高100毫秒,他们的增量收入就增加了1%。在另一项研究中,加载时间与转化率之间的关系表明 ,加载时间仅增加一秒钟,转化率就会降低25%。那我们来看看如何提升网站的打开速度?
最小化HTTP请求根据Yahoo的说法,网页加载时间的80% 用于下载网页的不同部分,例如图像,样式表和脚本。
这些元素中的每个元素都会发出HTTP请求,因此页面上的组件越多,页面呈现所花费的时间就越长。
最小化您的请求的第一步是弄清楚您的站点当前有多少,以用作基准。如果您使用的是Google Chrome浏览器,则可以使用浏览器的开发人员工具查看您的网站发出了多少个HTTP请求。
右键单击要分析的页面,然后单击“检查”,然后单击“网络”选项卡。(如果看不到“网络”标签,则可能需要通过将左侧边框拖动到左侧来展开“开发人员工具”侧边栏。)
“名称”列显示页面上的所有文件,“大小”列显示每个文件的大小,“时间”列显示加载每个文件需要多长时间。
在左下角,您还将看到该网站发出的请求总数。减少此请求数量将加快您的网站速度,浏览文件并查看是否有必要。
缩小并合并文件现在您已经知道您的网站发出了多少请求,接下来就可以减少该请求。最好的入门指南是HTML,CSS和JavaScript文件。
这些是非常重要的文件,因为它们决定了网站的外观。它们还会增加您的网站在用户每次访问时所发出的请求数量。您可以通过“缩小”并合并文件来减少此数量。这样可以减少每个文件的大小以及文件的总数。
如果您使用模板化的网站构建器,这尤其重要。这些使构建网站变得容易,但有时会创建混乱的代码,从而大大降低您的网站速度。
缩小文件涉及删除不必要的格式,空格和代码。由于每段不必要的代码都会增加页面的大小,因此消除多余的空格,换行和缩进非常重要。这样可以确保您的页面尽可能的简洁。
组合文件确实是听起来很容易解决的问题。如果您的站点运行多个CSS和JavaScript文件,就可以将它们组合为一个文件。
当涉及到您的网站时,精益求精是更好的选择。页面上的元素越少,浏览器使页面呈现所需的HTTP请求就越少-加载速度就越快。
对CSS和JavaScript文件使用异步加载缩小并合并了一些文件后,您还可以优化它们在页面上的加载方式。
可以通过两种不同的方式加载CSS和JavaScript之类的脚本:同步或异步加载。
如果您的脚本是同步加载的,则它们会按照在页面上显示的顺序一次加载一个。另一方面,如果脚本是异步加载的,则其中一些脚本将同时加载。
异步加载文件可以加快页面的速度,因为当浏览器加载页面时,页面从上到下移动。
如果到达非异步的CSS或JavaScript文件,它将停止加载,直到完全加载该特定文件为止。如果该文件是异步文件,则浏览器可以继续同时加载页面上的其他元素。
推迟JavaScript加载延迟文件意味着阻止其加载,直到其他元素加载完毕。如果推迟使用较大的文件(例如JavaScript),则确保可以立即加载其余内容。
如果您有HTML网站,则需要在</body>标记之前放置一个外部JavaScript文件的调用,该文件如下所示:
如果您网站的速度尚未达到您想要的速度,那么这可能是一个可以持续进行的目标。但是当您进行本文中列出的更改时,您可以继续测试您的网站并提高排名,用了以上这些方法后,肯定速度会提高不少。
403禁止访问被拒绝怎么办?
一、由于启动用户和nginx工作用户不一致所致
1.1查看nginx的启动用户,发现是nobody,而为是用root启动的
命令:ps aux | grep "nginx: worker process" | awk'{print $1}'
1.2将nginx.config的user改为和启动用户一致,
命令:vi conf/nginx.conf
二、缺少index.html或者index.php文件,就是配置文件中index index.html index.htm这行中的指定的文件。
1. server {
2. listen 80;
3. server_name localhost;
4. index index.php index.html;
5. root /data/www/;
6. }
如果在/data/www/下面没有index.php,index.html的时候,直接文件,会报403 forbidden。
三、权限问题,如果nginx没有web目录的操作权限,也会出现403错误。
解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决
1. chmod -R 777 /data
2. chmod -R 777 /data/www/
四、SELINUX设置为开启状态(enabled)的原因。
4.1、查看当前selinux的状态。
1. /usr/sbin/sestatus
4.2、将SELINUX=enforcing 修改为 SELINUX=disabled 状态。
1. vi /etc/selinux/config
2.
3. #SELINUX=enforcing
4. SELINUX=disabled
4.3、重启生效。reboot。
1. reboot
重启php以及nginx
killall php-fpm && php-fpm &
nginx -s reload