Articles of php fpm

NGINX不能访问html文件和下载php文件

一切工作正常,但我做了很多修改,然后我只能得到一个空白页。 这是一个新的NGINX安装,所以我决定删除/etc/nginx文件并重新安装。 apt-get purge nginx nginx-common nginx-full apt-get install nginx nginx-common nginx-full 现在PHP文件不会加载,奇怪的是我无法访问文档根目录(/ usr / share / nginx / html)中的文件“test.html”。 nginx版本:nginx / 1.10.3 cat /etc/nginx/sites-available/default server { listen 88 default_server; root /usr/share/nginx/html; index index.php index.html; access_log /var/log/nginx/default-access_log; error_log /var/log/nginx/default-error_log; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { #try_files $uri =404; fastcgi_index […]

Nginx php-fpm在高stream量网站上摆脱502错误

目前我有以下规格的服务器: 32 core 128gb RAM 1TB SSD hardisk 5Gbps network uplink 目前的设置是nginx + php-fpm,没有任何负载均衡设置 nginx.conf fastcgi_connect_timeout 9000; fastcgi_send_timeout 9000; fastcgi_read_timeout 9000; fastcgi_buffer_size 256k; fastcgi_buffers 256 16k; fastcgi_busy_buffers_size 512k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; location ~ [^/]\.php(/|$) { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi-56.sock; fastcgi_index index.php; include fastcgi.conf; include pathinfo.conf; } PHP-fpm.conf [www] listen = /tmp/php-cgi-56.sock listen.backlog = […]

会话在Nginx上与PHP-FPM的问题

我在我的小项目中使用的会话遇到了一些麻烦: PHP Notice: Undefined index: user_ID in ../config/sessions_class.php on line 29 (这是来自nginx的error.log) 如果尝试将会话的保存path设置为memcache,并设置为/ var / lib / php5 / sessions。 会话文件实际上是在会话目录中创build的,所以用户权限必须是正确的。 我目前正在将用户设置保存到index.php上的会话,例如$ _SESSION ['user_ID'],然后redirect到anotherpage.php。 如果我尝试检索$ _SESSION ['user_ID']那里我得到未定义的索引错误。 session_start被调用了几次,但这不应该是我猜的问题。 任何build议的问题可能是? 如果你愿意,我可以追加nginx.conf或php.ini文件。 编辑:我得到了Suhosin PHP Hardening – 这可能会干扰全球SESSIONvariables的任何机会?

Nginx + PHP-FPM,php脚本不能运行

我使用其提供的堆栈脚本之一在Linode上安装了LEMP堆栈。 我其实并没有在启动时运行它,而是手动input命令,因为它似乎没有正确地安装一切。 无论如何,安装完所有的东西,并启动服务器和php-fpm没有错误,我创build了一个phpinfo(); 页面在默认的nginx位置( /var/www/index.php )。 问题是它没有执行脚本,而是显示为一个静态文件。 任何人都知道我可以如何处理这个?

Oracle 11g + Nginx + php-fpm

我想设置php / nginx连接到一个oracle数据库。 一切都在一台服务器上(testing) 我安装了nginx并将其设置得很好。 我设置PHP和PHP-FPM,并正常工作(testing一些PHP的东西) 我使用pecl install oci8安装了oci8模块,并提供了到我的oracle_home的path,它编译得很好。 但我无法连接到数据库。 我尝试了多个脚本。 我对oracle很新颖。 php-fpm的www错误日志说检查我的oracle_home和ld库path。 我把我的PHP脚本设置为一个testing,但仍然失败。 有任何想法吗? <?php PutEnv("ORACLE_SID=orcl"); PutEnv("ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome_1/"); PutEnv("TNS_ADMIN=/opt/app/oracle/product/11.2.0/dbhome_1/network/admin"); PutEnv("LD_LIBRARY_PATH=/opt/app/oracle/product/11.2.0/dbhome_1/lib"); $c = oci_connect("testuser", "testpassword", "127.0.0.1"); if (!$c) { echo "Unable to connect: " . var_dump( oci_error() ); die(); } ETCETC 从错误日志: [10-Dec-2010 17:25:58] PHP警告:oci_connect():OCIEnvNlsCreate()失败。 你的系统有问题 – 请检查是否设置了ORACLE_HOME和LD_LIBRARY_PATH,并指向第6行/usr/share/nginx/html/orcl2.php中正确的目录 编辑:我将nginx用户添加到oinstall组用于testing目的,现在我得到更好的错误消息,所以我越来越。 现在的错误是: 数组(4){[“代码”] => int(12504)[“消息”] =>string(70)“ORA-12504:TNS:侦听器没有被赋予CONNECT_DATA中的SERVICE_NAME”[“offset”] => int(0)[“sqltext”] […]

W3总caching或WP超级caching?

我只准备安装一个新的VPS ,在那里我将迁移一个stream量很好的WordPress博客(目前每天大约有4万个网页浏览量),而且我正在考虑caching策略。 我发现了不同的想法和build议,但是根据以前的经验,我将在Linode VPS上安装一个Nginx + PHP-FPM + MySQL (LEMP)系统。 我也读过关于将Nginx设置为与Apache的反向代理 ,甚至使用Varnish ,但我不知道是否所有这些都可以有利于博客的速度/性能(这是唯一将安装在VPS)。 现在的问题是… 你会推荐W3总caching或WP超级caching? 我在一些博客上使用了W3,但是我没有注意到很多好处,也不需要所有的select,所以我想我可以试试WP Super Cache。 另外,有些用户抱怨W3的configuration复杂,性能不足(甚至有些CPU比较多)。

nginx重写configuration

我对nginx相当陌生,并试图设置一些非常简单的重写规则,但他们似乎并没有工作。 只是为了您的信息,这台server { .. }有它的server_name domain.com *.domain.com 。 我有这个rewrite ^ /index.php?/$request_uri; 这似乎很好。 这将匹配domain.com/asd/sad/sad,一切正常。 不过,我想做一些有趣的子域名…所以我有s1.domain.com和s198.domain.com但我想改变我的重写,所以它去/index.php?/s1/$request_uri如果这是有道理的? 所以子域在$request_uri之前。 这是我迄今为止所尝试的: if ($host ~* ^([az]+)\..*) { rewrite ^(.*)$ /index.php?/$1/$request_uri; } rewrite ^ /index.php?/$request_uri; 真的很感谢您可以给的任何帮助! 谢谢。

摆脱“欢迎来到nginx!”

我刚刚在我的Ubuntu分段机器上安装了nginx。 inputhttp://192.168.1.1./index.php就像一个魅力,并加载我已经放在/var/www/public_html文件夹中的index.php文件。 http://192.168.1.1不过反而显示欢迎使用nginx! 页面,而不是我的index.php文件。 我究竟做错了什么? 这是我的nginxconfiguration: server { listen 80 default; root /var/www/public_html; index index.php index.html index.htm; server_name _; location / { try_files $uri $uri/ /index.html; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }

设置安全共享主机(Apache,PHP,MySQL)

所以我正在build立一个与Apache,PHP,MySQL共享的主机,最大的问题是如何处理PHP,因为有一百万个选项可以安全地configuration它。 计划是: MySQL的Chroot(内置支持chroot) Chroot for Apache(mod_security) 每个用户执行他们的PHP脚本作为他们自己的用户(见下文) 设置open_basedir 禁用所有“邪恶的”php函数(allow_url_fopen,system,exec等等) 我看着suexec和suphp,但他们似乎很慢; http://blog.stuartherbert.com/php/2007/12/18/using-suexec-to-secure-a-shared-server/ http://blog.stuartherbert.com/php/2008/01/18/使用-suphp到安全-A-共享服务器/ 所以我看了更多,发现了一些其他的解决scheme: apache2-mpm-itk + mod_php(?) mod_fcgid + php-fpm mod_fastcgi + php-fpm 我尝试了一个简单的设置与mod_fastcgi + php-fpm,它似乎工作,运行正确的用户等,但目录旅游的保护仍然是open_basedir(?) 一个解决scheme可能是使用php-fpm的chroot选项,但是会导致很多其他问题 域名parsing器不起作用 发送邮件不起作用 提示?

某些IP上的nginx连接时间问题

我最近把我的服务器转移到了nginx和php-fpm中去掉了apache。 这有助于提高我的网站的速度。 一切似乎工作正常,直到我遇到这个问题,我注意到,nginx保持抛出连接超时只有某些IP错误。 其中一个IP是我的办公室IP,我们有一个后台,从我们的办公室经过一天的访问。 我使用supervisord来启动3个php-fpm进程,这是我典型的php-fpmconfiguration pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 300 由于我有一个服务器与4核心和2 GB的RAM这是我的nginx设置 worker_processes 4; worker_rlimit_nofile 8192; events { worker_connections 1024; use epoll; multi_accept off; } sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 55; recursive_error_pages on; server_name_in_redirect off; server_tokens off; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; […]