很多站长朋友们都不太清楚phpnodelay,今天小编就来给大家整理phpnodelay,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 HTTP 错误 500.0 - Internal Server Error C:\php-5.3.5\php.exe - FastCGI 进程意外退出 2、 用Netty作http静态资源服务器,类似Nginx这样的,大一点的文件响应不正常怎么回事? 3、 nginx不解析php,访问php文件弹出直接下载该文件 系统是centos7 4、 windows下php程序怎么运行 HTTP 错误 500.0 - Internal Server Error C:\php-5.3.5\php.exe - FastCGI 进程意外退出最常见的出错提示:500 SERVER ERROR
主要是由于IWAM账号(在我的计算机即是IWAM_MYSERVER账号)的密码错误造成了HTTP 500内部错误。在详细分析HTTP500内部错误产生的原因之前,先对IWAM账号进行一下简要的介绍:IWAM账号是安装IIS5时系统自动建立的一个内置账号,主要用于启动进程之外的应用程序的I nternet信息服务。IWAM账号的名字会根据每台计算机NETBIOS名字的不同而有所不同,通用的格式是IWAM_MACHINE,即由 “IWAM”前缀、连接线“_ ”加上计算机的NETBIOS名字组成。我的计算机的NETBIOS名字是MYSERVER,因此我的计算机上IWAM账号的名字就是 IWAM_MYSERVER,这一点与I IS匿名账号ISUR_MACHINE的命名方式非常相似。IWAM账号建立后被 Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。按常理说,由操作系统负责的工作我们大可放心,不必担心出错,但不知是B UG还是其它什么原因,系统的对IWAM账号的密码同步工作有时会失败,使三方IWAM账号所用密码不统一。当IIS或COM+应用程序使用错误I WAM的密码登录系统,启动IIS Out-Of-Process Pooled Applications时,系统会因密码错误而拒绝这一请求,导致IIS Out-Of-Process Pooled Applications启动失败,也就是我们在ID10004错误事件中看到的“不能运行服务器{3D14228D-FBE1-11D0-995D- 00C04FD919C1} ”(这里{3D14228D-FBE1-11D0-995D-00C04FD919C1} 是IIS Out-Of-Process Pooled Applications的KEY),不能转入IIS5应用程序,HTTP 500内部错误就这样产生了。
用Netty作http静态资源服务器,类似Nginx这样的,大一点的文件响应不正常怎么回事?您好,对于你的遇到的问题,我很高兴能为你提供帮助,我之前也遇到过哟,以下是我的个人看法,希望能帮助到你,若有错误,还望见谅!。展开全部
Nginx+PHP-fpm组合,以内存占用小,负载能力强壮的特点,成为小内存VPS建站的首选组合。我们一起来探讨一下nginx+php-fpm高负载的优化方法。
先来看看nginx配置参数的优化。nginx是前端接受浏览器端请求的web server, 配置可调的参数如下:
下面是示例nginx配置
user www-data;
worker_processes 8;
#worker_processes 调至8, 大于8没什么用,小于8,nginx性能发挥不出来
worker_cpu_affinity 01 10 01 10 01 10 01 10;
#worker_cpu_affinity 参数可以使nginx充分发挥多核Cpu的性能优势 ,上面的配置是针对双核CPU的配置。01表示第一个核,10表示第二个核,如果是四核cpu,一至四个核分别表示为 0001 0010 0100 1000
error_log /var/log/nginx/error_log crit;
pid /var/run/nginx.pid;
worker_rlimit_nofile 10240;
#worker_rlimit_nofile 是nginx能打开文件的最大句柄数,我们需要把这个数字设大一点。
#linux系统的文件查看数限制查看是用 ulimit -n ,修改这个限制是用 ulimit -HSn 65535
events
{
use epoll;
#必须要用高效的event驱动,以获得最大性能
worker_connections 10240;
#max_clients = worker_processes * worker_connections/4 (最大连接数的计算公式)
}
http
{
include /etc/nginx/deny.iplist;
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_name_in_redirect off;
server_names_hash_bucket_size 128;
server_tokens off;
client_header_buffer_size 32k;
#client头buffer可以调为32K
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfileon;
tcp_nopush on;
keepalive_timeout 65;
tcp_nodelayoff;
client_body_timeout 10;
client_header_timeout 10;
send_timeout 60;
output_buffers 1 32k;
postpone_output 1460;
open_file_cache max=1000 inactive=20s;
open_file_cache_valid30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 32k;
fastcgi_buffers 4 32k;
fastcgi_busy_buffers_size 32k;
fastcgi_temp_file_write_size 32k;
gzip on;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_proxied expired no-cache no-store private auth;
proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=staticfilecache:80m inactive=1d max_size=2500m;
proxy_temp_path /var/lib/nginx/proxy;
proxy_connect_timeout 300;
proxy_read_timeout 120;
proxy_send_timeout 120;
proxy_buffer_size 16k;
proxy_buffers 4 16k;
upstream wordpressnginx
{
server 127.0.0.1:6000 weight=1 fail_timeout=120s;
}
include /etc/nginx/sites-enabled/*;
}
上面的配置里面,有多处设及到buffer和timeout的地方。我们可以根据需要,慢慢调大这些参数,buffer自然是大点好,但不要太大。16K是标准配置,可以增加到32,往上加更大也不是不行,但 要考虑到你系统内存大不大,够不够用。timeout是超时,如果服务器很繁忙,不妨增加超时等待时间,以避免频繁出现502错误。
gzip是必须开启的,reverse proxy在允许的情况下,也尽量开启,一 是可以提升响应效率,二是降低服务器压力,gzip开启后更可以节省服务器带宽。
nginx主要的配置如上所述。
现在看一下php-fpm的配置。
[global]
pid = run/php5-fpm.pid
process_control_timeout = 5
[www]
listen = /dev/shm/php-cgi.sock
listen.allowed_clients = 127.0.0.1
user = www-data
group = www-data
pm = static
pm.max_children = 7
#这个决定了 php-fpm的总进程。我们要想同时响应更多的并发数,这个数值要尽可能大,比如500,1000
pm.max_requests = 10000
#并发数越大,这个最大请求数应该越大,并发数小,这个数值也应该越小。它表示,php-fpm进程响应了10000个并发请求之后,就自动重启一下进程。
request_terminate_timeout = 30
#表示等待30秒后,结束那些没有自动结束的php脚本,以释放占用的资源。
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
小内存的vps虽然经过使用php-fpm+nginx,提升了系统的效率,可以同时响应较多的并发请求,但是当并发数上来了,比如从100上升到10000,小内存肯定响应不过来,cpu也会 因为太忙,而导致系统负载变得很高很高,这个时候,我们就要考虑升级硬件配置了。
内存越大越好,CPU核心频率越高越好,CPU核越多越好。硬盘最好是SSD+RAID10。这样性能不仅高,数据安全也有保障。
上面所提到的各个配置参数,设及到数值的,不妨自己 多试着调小,调大参数,然后重启下nginx或者php-fpm进程,看看效果怎么样。
下面介绍一个比较好的压力测试工具,siege.
debian和ubuntu用户可以通过apt-get install siege来安装siege.
siege是一个跟ab.exe相似的http压力测试软件。
我们可以用siege来测试我们的网站和服务器性能。
siege -r 100 -c 10
-r 是 repeat , -r 100是重复100次测试
-c 10是表示模拟10个用户同时并发连接
最后面是要测试的URL地址。
测试过程中可以随时按CTRL+C中止进程,siege会生成一个报告给我们。
我们可以同时根据siege的测试结果和监视服务器的负载情况,对系统压力状况进行一个深入了解和分析。接下来可以帮助我们判断该如何进行下一步操作,是继续优化配置,还是升级硬件。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
nginx不解析php,访问php文件弹出直接下载该文件 系统是centos7location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
}
windows下php程序怎么运行一,首先到PHP官网下载php(目前php有3个stable分支版本7.1、7.0、5.6,如果有项目需求就下载需求版本,如果是个人学习,建议下载最新版),根据32位/64位系统下载ZIP包即可,不需要Debug包,(下面我要说的是Nginx+PHP的方式,推荐使用Non Thread Safe版本):
二、到Nginx官网下载Nginx(个人学习建议Mainline版本,项目开发建议Stable版本),注意选择windows的包!:
三、下载完上面的两个包后解压即可(建议放到不经常移动的地方)。
四、用纯文本编辑器打开Nginx里面conf文件夹里面的nginx.conf文件,进行如下编辑即可:
worker_processes auto;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
# access_log \\.\\nul; #关闭访问日志
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_prefer_server_ciphers on;
gzip on;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root html; #这里指定为你网站的根目录,比如C:\html,默认是相对于Nginx目录下
index index.php index.html;
charset utf-8;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.cpp;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
try_files $fastcgi_script_name =404;
}
}
}
五、根据需要可以编辑php.ini。
六、创建快捷方式以便于启动php和Nginx:
桌面上右键-》新建-》快捷方式,位置选择到php文件夹下的php-cgi.exe文件,并加上参数: -b 127.0.0.1:9000。(比如PHP文件夹在C:\php,位置就是"C:\php\php-cgi.exe -b 127.0.0.1:9000"),下一步名字随意,完成。
桌面上再右键-》新建-》快捷方式,位置选择到Nginx文件夹下的nginx.exe即可。可以没有参数。
再创建一个停止Nginx的快捷方式(PHP要停止直接在php的窗口按Ctrl+C即可):桌面上右键-》新建-》快捷方式,位置选择到Nginx文件夹下的nginx.exe,并加上参数: -s quit。(比如Nginx文件夹在C:\Nginx,位置就是"C:\Nginx\nginx.exe -s quit")。
七、分别双击上面创建的两个快捷方式,启动php和Nginx(php会一直有一个黑框,不要关,Nginx是黑框一闪而过,任务管理器里可以看到多个Nginx进程)。
八、在上面配置文件里设置的网站根目录里创建一个php文件,内容为:
<?php
phpinfo();
九、打开浏览器访问“127.0.0.1”或者“[::1]”,如果正常显示PHP信息界面了就表示环境搭建成功了。
十、要关闭的话,php在那个黑框框按Ctrl+C即可,然后运行刚刚创建的那个Nginx退出的快捷方式即可关闭Nginx。
纯手打,望采纳!
关于phpnodelay的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。