php-fpm

Nginx基础知识04

假如想象 提交于 2020-03-03 08:13:00
案例1:构建memcached服务 1.1 问题 本案例要求先快速搭建好一台memcached服务器,并对memcached进行简单的增、删、改、查操作: 安装memcached软件,并启动服务 使用telnet测试memcached服务 对memcached进行增、删、改、查等操作 1.2 方案 memcached是高性能的分布式缓存服务器,用来集中缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的响应速度。访问拓扑如图-1所示。 使用1台RHEL7虚拟机作为memcached服务器(192.168.4.5)。 在RHEL7系统光盘中包含有memcached,因此需要提前配置yum源,即可直接使用yum安装,客户端测试时需要提前安装telnet远程工具。 验证时需要客户端主机安装telnet,远程memcached来验证服务器的功能: add name 0 180 10 / / 变量不存在则添加 set name 0 180 10 / / 添加或替换变量 replace name 0 180 10 / / 替换 get name / / 读取变量 append name 0 180 10 / / 向变量中追加数据 delete name / / 删除变量 stats / / 查看状态 flush_all / / 清空所有 提示:0表示不压缩,180为数据缓存时间

Nginx默认虚拟主机、 Nginx用户认证、Nginx域名重定向、访问日志·····

两盒软妹~` 提交于 2020-03-01 19:20:21
Ngninx默认虚拟主机 1.vim /usr/local/nginx/conf/nginx.conf //增加 2.include vhost/*.conf 3.mkdir /usr/local/nginx/conf/vhost 4.cd !$; vim default.conf //加入如下内容 server { listen 80 default_server; // 有这个标记的就是默认虚拟主机 server_name aaa.com; index index.html index.htm index.php; root /data/wwwroot/default; } 5.mkdir -p /data/wwwroot/default/ 6.echo “This is a default site.”>/data/wwwroot/default/index.html 7./usr/local/nginx/sbin/nginx -t 8./usr/local/nginx/sbin/nginx -s reload 9.curl localhost 10.curl -x127.0.0.1:80 123.com 操作演示: [root@xuexi-001 ~]# ls /usr/local/nginx/conf/ fastcgi.conf mime.types scgi

Linux下Nginx+PHP+MySQL配置

假如想象 提交于 2020-03-01 03:43:58
Nginx是一个高性能的HTTP和反向代理 服务器 ,同时还是IMAP/POP3/SMTP代理 服务器 , 该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定、低系统资源消耗而闻名,近几年Nginx在国内已经成炙热化状态,比如像腾讯、网易、51CTO、迅雷、当当网、 51、人人网等诸多大型网站都已经使用Nginx来做Web服务器,所以我们要学会运用Nginx还是非常有必要的,下面我们一起来看一下Nginx是如 何在Linux平台上搭建的 安装前首先使用yum命令安装、升级所需的程序库 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss

nginx,php-fpm,phpfastcgi,upstream实现负载均衡

风流意气都作罢 提交于 2020-02-29 06:07:15
应用的最前端是一台nginx服务器,所有静态的内容都由nginx来处理,而将所有php的请求都分摊到下游的若干台运行php fastcgi守护进程的服务器中,这样可以以一种廉价的方案来实现对系统负载的分摊,扩展系统的负载能力。 三台php fastcgi服务器的ip地址分别为: 172.16.236.110 , 172.16.236.111, 172.16.236.112 运行php fastcgi进程时,需要让php-cgi监听到服务器的局域网地址(分别如上所示),而不是之前一般都是监听的本地地址(127.0.0.1)。以172.16.236.110这台服务器为例: /usr/local/php5/bin/php-cgi -b 172.16.236.110:9000 或许你用spawn-fcgi来启动php-fcgi,那么就是这样(供参考,其实也就是修改监听的地址和端口即可): /usr/local/lighttpd/bin/spawn-fcgi -f /usr/local/php5/bin/php-cgi -a 172.16.236.110 -p 9000 又或许你是用php-fpm来管理php-fcgi,那么你需要修改php-fpm的配置 vi /usr/local/php5/etc/php-fpm.conf 找到这个配置项(其中的地址可能需要根据你自己环境来调整)

PHP通过设置系统环境变量来区分测试环境和正式环境【php】

核能气质少年 提交于 2020-02-28 22:03:23
一,介绍 1.PHP中可以通过getenv()函数和$_ENV来获取环境变量 2.环境变量存在系统中,不随代码的提交改变而改变 3.如果公司有测试服务器和正式服务器两台,通过环境变量的方式来区分测试环境和正式环境是一个不错的办法 4.安全,不用担心提交覆盖 二、设置方法 1.打开etc/profile文件:vim ~/etc/profile 新增一个环境变量export PHP_ENV="test",正式服务器设置为="prod" 这样通过系统环境变量来做一些不同的操作,或者存在不同的数据库账号密码 设置完后重新加载:source ~/etc/profile 2.修改PHP的php-fpm.conf文件,设置PHP环境变量 底部增加:env[PHP_ENV]=$PHP_ENV 重启PHP服务,service php-fpm restart 3.如果getenv('PHP_ENV')无法获取值? 可能因为php.ini默认不载入$_ENV变量定义,如果此时查看phpinfo(),会发现我们设置的环境变量为"no value" 修改vim /etc/php/php.ini 修改:variables_order:variables_order="EGPCS" 重启PHP服务 4.查看phpinfo(),或者使用getenv()函数获取变量 如果无法获得,可使用$_ENV

用docker部署nginx+php环境时,访问php文件不执行

本秂侑毒 提交于 2020-02-28 14:16:06
今天用docker部署nginx+php环境时,访问php页面,提示404错误。查看docker日志发现下面错误: [error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 192.168.248.1, server: 115.182.68.147, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://172.18.0.2:9000", host: "192.168.248.129" 1 问题原因: php默认监听的是本地的9000端口 解决方法: 修改php-fpm所在容器的/etc/php-fpm.d/www.conf文件 把listen = 127.0.0.1:9000修改为 listen = 0.0.0.0:9000 --------------------- 作者:fogfore 来源:CSDN 原文:https://blog.csdn.net/miwumuge/article/details/83660055 版权声明:本文为博主原创文章,转载请附上博文链接! 来源: oschina 链接: https://my.oschina.net/u/588516/blog

Nginx中fastcgi_pass的配置问题

♀尐吖头ヾ 提交于 2020-02-28 05:38:14
在配置nginx的时候,fastcgi_pass的配置问题,如下所示: location ~ \.php$ { root /home/wwwroot; fastcgi_pass 127.0.0.1:9000 ; #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; #fastcgi_pass unix:/tmp/php-cgi.sock; try_files $uri /index.php = 404 ; fastcgi_split_path_info ^(.+\.php)(/.+)$ ; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root $fastcgi_script_name ; include fastcgi_params; } 主要是关于fastcgi_pass参数, #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; #fastcgi_pass unix:/tmp/php-cgi.sock; 这两种方式有什么区别,php7该用哪一个? -------------------------------------------------- Nginx和PHP-FPM的进程间通信有两种方式

nginx 解决 connect() failed (111: Connection refused) while connecting to upstream,

雨燕双飞 提交于 2020-02-27 16:03:09
也不知道什么问题,就去看了一下nginx日志 /var/log/nginx/error.log,发现了这个错误 2018/06/03 13:38:23 [error] 21332#21332: *301 connect() failed (111: Connection refused) while connecting to upstream, client: 115.159.183.71, server: 202.182.116.84, request: "GET /phpmyadmin/index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "202.182.116.84" 去搜了一下,这样的错误有两个解决方式 1.php-fpm没有运行 执行如下命令查看是否启动了php-fpm,如果没有则启动你的php-fpm即可 netstat -ant | grep 9000 2.php-fpm队列满了 php-fpm.conf(/etc/php/7.0/fpm/php-fpm.conf)配置文件pm.max_children修改大一点,重启php-fpm并观察日志情况 呵呵,但是呢,姐姐岂止是普通人,这两个都看了还是不行,解决完了才发现,没想到啊,自己竟然有一个这么大的错误 来啊从配置文件开始看起吧, 3

linux搭建php环境

Deadly 提交于 2020-02-27 14:10:53
1.安装apache [root@VM_0_5_centos /]# yum -y install httpd 2.安装php [root@VM_0_5_centos /]# yum -y install php 3.安装php-fpm [root@VM_0_5_centos /]# yum -y install php-fpm 4.安装php-mysql [root@VM_0_5_centos /]# yum -y install php-mysql 5.安装apache扩展 [root@VM_0_5_centos /]# yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql 6.安装php的扩展 [root@VM_0_5_centos /]# yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc 至此需要的东西全部安装完成 1.启动apache [root@VM_0_5_centos /]# service httpd start 浏览器地址栏输入“http://localhost/“测试是否可用。 出现“Testing 123..”,表示成功。 出现下图表示apache服务器可用

PHP基础 CGI,FastCGI,PHP-CGI与PHP-FPM

 ̄綄美尐妖づ 提交于 2020-02-27 10:22:22
CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。 FastCGI FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算,即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。 FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。 FastCGI特点 FastCGI具有语言无关性. FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。APIs把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器。