【IT专家】nginx环境下配置支持php5.6(nginx+PHP)
在nginx上配置php环境
在nginx服务器上配置php环境
一、安装nginx
传统的编译安装nginx很麻烦,这里就不多介绍了(我安装过几次,总是安装不成,主要是缺少nginx的安装类库)
使用yum安装nginx
CentOS 5以上的版本都自带了yum。
所以不用麻烦,再安装yum。
使用yum安装,首先必须确定你的电脑能联网。
不然就会报错。
更新系统内核到最新:(大概188个,耗时最少20几分钟)
由于centos没有默认的nginx软件包,需要启用REHL的附件包
设置开机启动
二、安装php
可以用yum安装
也可以用php安装包进行安装,我用的是php-5.3.2.tar.gz
下面来安装php的扩展库:
三、安装mysql
下面来安装mysql的扩展库:
也可以用mysql安装包进行安装
四、开始工作
1、重新启动电脑
2、访问:http://localhost/ (你安装的电脑)
3、如果出现welcome to nginx on epel! 说明nginx 安装成功。
4、在/sur/share/nginx/html 下建立项目
5、在这之前必须修改配置文件nginx.cof
在index中加入index.php
去掉前面的所有#即可。
(如果不行就按照上面的配置)
6、哦,还得先开启php-cgi
在/etc/rc.local中加入php-cgi -b 9000 –q
重新启动计算机就OK。
五、现在正真的可以开始工作了
建立项目,自己开始测试哦。
PHP5.6中php-fpm的配置,启动,停止和重启
该文主要讲述:如何配置php-fpm、常见报错解决方法和php-fpm的启动、关闭和重启。
LNMP环境中的nginx是不支持php的,需要通过fastcgi插件来处理有关php的请求。
而php需要php-fpm这个组件提供该功能。
在php5.3.3以前的版本php-fpm 是以一个补丁包的形式存在的,而php5.3.3以后只需在编译安装时使用–enable-fpm加载该模块即可,无需另行安装。
[root@localhost php-5.6.25]# /usr/local/php/sbin/php-fpm[29-Aug-2016 17:36:05] ERROR: failed to open configuration file'/usr/local/php/etc/php-fpm.conf': No such file or directory (2)[29-Aug-2016 17:36:05] ERROR: failed to load configuration file'/usr/local/php/etc/php-fpm.conf'[29-Aug-2016 17:36:05] ERROR: FPM initialization failed启动php-fpm发现缺乏配置文件/usr/local/php/etc/php-fpm.conf此时只需复制php-fpm的配置文件在安装php时提供的配置文件的模版/usr/local/php/etc/php-fpm.conf.default到相应目录下即可,此处有两种方法,均可提供配置文件,即分别将末班复制到/usr/local/php/etc/或者/usr/local/etc/并重命名为php-fpm.conf①[root@localhost etc]# cd /usr/local/php/etc/[root@localhost etc]# lspear.conf php-fpm.conf.default[root@localhost etc]# cp /usr/local/php/etc/php-fpm.conf/usr/local/etc/php-fpm.conf利用/usr/local/php/sbin/php-fpm启动FPM[root@localhost etc]# /usr/local/php/sbin/php-fpm②[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf[root@localhost etc]# /usr/local/php/sbin/php-fpm至此php-fpm配置完成,鉴于fpm是置于PHP和Nginx之间的一层应用,所以配置成服务开机自启。
Windows下Nginx+PHP5(FastCgi),memcache安装配置详解
Nginx作为一款支持PHP的轻量级WEB服务器,在PHP网站建设中收到越来越多的应用,最近在Windows平台上安装配置了Nginx+PHP5的运行环境,非常方便,现详细介绍下Windows下Nginx 配置PHP5的基础教程,Nginx配置PHP是以FastCgi方式配置的。
下载NginxNginx可以在多种操作系统上安装配置,我使用的是Windows,所以需要下载Nginx Windows版本,点击下载Nginx。
我下载的是nginx/Windows-0.8.53版本。
安装Nginx下载完Nginx后,需要在Windows中安装Nginx,Nginx Windows版本的安装非常方便,只要解压缩后,将文件拷贝到C盘根目录下即可,我的Nginx安装目录为C:\nginx-0.8.53。
安装配置PHP我使用的是PHP5.2,你可以可以使用PHP5.3,只要PHP版本支持FastCgi方式(有php-cgi.exe)即可,PHP安装配置教程推荐参考:Windows7 IIS7下以FastCgi和ISAPI方法安装配置PHP5教程配置Nginx支持运行PHP首先需要打开C:\nginx-0.8.53,找到C:\nginx-0.8.53\conf目录下的nginx.conf,以记事本打开,配置Nginx支持PHP第一步设定error.log的存放目录,将#error_log logs/error.log;的#去处,默认error.log是存放在Nginx安装目录中logs目录下。
配置Nginx支持PHP第二步设定WEB服务器目录,类似于PHP.INI配置文件中的document_root,Nginx配置文件中的原有信息如下修改Nginx配置如下这里需要注意,路径分隔符请使用”/”而不要使用Windows中的”\”以防歧义。
配置Nginx支持PHP第三步在Nginx配置文件中找到1 2 3 4 5 6 7 8 9 10 11 1213#location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name ; # include fastcgi_params;#} 去处#并添加WEB 目录,即 1 2 3 4 5 6 7 8 9 10 11 1213 location ~ \.php$ {root D:/PHPWeb;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME D:/PHPWeb$fastcgi_script_name;include fastcgi_params;}这里需要注意,需要将中的/scripts 修改为之前设定的WEB 目录,否则会报HTTP 404错误。
Nginx+php配置文件及原理解析
Nginx+php配置⽂件及原理解析采⽤nginx+PHP作为webserver的架构模式,在现如今运⽤相当⼴泛。
然⽽第⼀步需要实现的是如何让nginx正确的调⽤php。
由于nginx调⽤php并不是如同调⽤⼀个静态⽂件那么直接简单,是需要动态执⾏php脚本。
所以涉及到了对nginx.conf⽂件的配置。
这⼀步对新⼿⽽⾔⼀般需要⽹上查资料,对于⼀般的熟⼿⽽⾔,也有不少同学并没有搞透彻为何要如此这般配置。
本⽂的主要内容为如何在nginx server中正确配置php调⽤⽅法,以及配置的基本原理。
⼀、nginx+php运⾏原理:⾸先简单的讲⼀讲原理,⽬前主流的nginx+php的运⾏原理如下:1、nginx的worker进程直接管理每⼀个请求到nginx的⽹络请求。
2、对于php⽽⾔,由于在整个⽹络请求的过程中php是⼀个cgi程序的⾓⾊,所以采⽤名为php-fpm的进程管理程序来对这些被请求的php程序进⾏管理。
php-fpm程序也如同nginx⼀样,需要监听端⼝,并且有master和worker进程。
worker进程直接管理每⼀个php进程。
3、关于fastcgi:fastcgi是⼀种进程管理器,管理cgi进程。
市⾯上有多种实现了fastcgi功能的进程管理器,php-fpm就是其中的⼀种。
再提⼀点,php-fpm作为⼀种fast-cgi进程管理服务,会监听端⼝,⼀般默认监听9000端⼝,并且是监听本机,也就是只接收来⾃本机的端⼝请求,所以我们通常输⼊命令 netstat -nlpt|grep php-fpm 会得到:tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1057/php-fpm这⾥的127.0.0.1:9000 就是监听本机9000端⼝的意思。
4、关于fastcgi的配置⽂件,⽬前fastcgi的配置⽂件⼀般放在nginx.conf同级⽬录下,配置⽂件形式,⼀般有两种:fastcgi.conf 和 fastcgi_params。
设置安全的nginx+PHP网站目录权限
断开 网 络 的 方 法 比较 多 , 最 简单 杀 毒 。在 杀 毒 时 , 建 议 用 户 先 对 杀 毒
程、 不 明程 序运 行 , 或 者 计 算 机 运 行
的办 法 就 是跑 到 电脑 后 面 拨下 网线 ,
软 件 进行 必 要 的设置 。 例 如 扫描 压 缩
速度 明显 变 慢 ,甚至 I E经 常 询 问是 这 也 是最 干 脆 的办 法。 不过 在 实 际 的 包 中的 文 件 、 扫 描 电子 邮件 等 , 同 时 否运 行 某 些 Ac t i v e X 控件 、调 试脚 本 应 用 中 ,我 们并 不 需 要这 样 麻 烦 , 毕 对 包含 病 毒 的文 件 处 理 方 式 , 例 如可 等。 那 么这 时 候 表示 此 时你 可 能 已经 竟 跑 到 电脑 后 面还 是 比较 烦 神 的 。 如 以 将 其 设 为 “ 清 除 病 毒 ”或 “ 隔离” , 中毒 了 。 果 安 装 了防 火 墙 , 可 以在 防 火墙 中直 而 不是 直 接 “ 删 除 文件 ” , 这样做的 目
安 全 咖 啡 屋
计 算 机 与 网 络 创 新 生 活 _哺 饲枷. 】 , I 曩 踊 l 嘲 曩
设置蜜垒 的 n 癣 n x +
基于 h n u x系 统 的 we b服 务 器 权 限 设 置 问题 ) 架构听说过 很 多年了 , 也 用 了 好 几 年 ,不 过 都 是 用 现 成 的 运 行 环 境 , 比如虚 拟主 机 、 共用 V P S 。 亲 手 配
配置权 限 的原 则 是 , 在 保 证 网 站正常运 行下 , 尽 量给最低 权限 。 我 的配置 :
这样 即使 网站被挂马 了 , 也 能 降 低 置 , 7 7 7也 是 最 便 捷 做 法 了 。 很 多损 失 , 例如 , 对 方 无 法 在 你 的
Nginx+PHP环境搭建
scp 安装包root@目标ip地址:存放路径一、安装Nginxgroupadd wwwuseradd -g www www -s /bin/falsecd /usr/local/srctar zxvf nginx-1.6.2.tar.gzcd nginx-1.6.2./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module--with-http_ssl_module --with-http_gzip_static_module--with-openssl=/usr/local/src/openssl-1.0.1j--with-zlib=/usr/local/src/zlib-1.2.8--with-pcre=/usr/local/src/pcre-8.36注意:--with-openssl=/usr/local/src/openssl-1.0.1j--with-zlib=/usr/local/src/zlib-1.2.8--with-pcre=/usr/local/src/pcre-8.36指向的是源码包解压的路径(不同的源码包是不一样的名字喔),而不是安装的路径,否则会报错makemake install/usr/local/nginx/sbin/nginx #启动Nginxcp /usr/local/nginx/sbin/nginx /etc/rc.d/init.d/nginxchmod 775 /etc/rc.d/init.d/nginx #赋予文件执行权限chkconfig nginx on #设置开机启动/etc/rc.d/init.d/nginx -s reload #重启在浏览器中打开服务器IP地址,会看到下面的界面,说明Nginx安装成功二、安装mysqltar xf mysql-5.0.41.tar.gz./configure --prefix=/usr/local/mysql --with-extra-charsets=all makemake installcp /usr/local/src/mysql-5.0.41/support-files/f /etc/f 创建数据库配置文件/usr/local/mysql/bin/mysql_install_db --user=mysql 数据库授权chown -R root /usr/local/mysqlchown -R mysql /usr/local/mysql/varchgrp -R mysql /usq/local/mysql/usr/local/mysql/bin/mysqld_safe --user=mysql & 用mysql用户启动数据库/usr/local/mysql/bin/mysql -uroot>set password for ‘root’@’localhost’=PASSWORD(‘******’); 设置mysql密码>exit/usr/local/mysql/bin/mysql -uroot -p root登录mysql数据库三、安装PHP1、首先要安装高版本的libxmltar xf libxml2-2.6.62.tar.gzcd libxml2-2.6.62./configuer --prefix=/usr/local/libxml2makemake install2、安装PHPtar xf php-5.6.13.tar.bz2cd php-5.6.13./configuer --prefix=/usr/local/php--with-config-file-path=/usr/local/php/etc/ --with-mysql=/usr/local/mysql--with-libxml-dir=/usr/local/libxml2-enable-fpm出现错误:error:cannot find mysql header files under解决办法:因为没找mysql的安装目录添加--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config--with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql出现错误:make:***[ext/openssl/oenssl.lo] Error 1解决办法:去掉参数 --with-openssl出现错误:configure: error: libjpeg.(a|so) not found.解决办法:yum install libjpeg-devel*\cp -frp /usr/lib64/libjpeg* /usr/lib/makemake install或者 yum install php-fpm*cp php.ini-production /usr/local/php/etc/php.ini #复制php配置文件到安装目录rm -rf /etc/php.ini #删除系统自带配置文件ln -s /usr/local/php/etc/php.ini /etc/php.ini #添加软链接到 /etc目录cp /usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到/etc目录vi /usr/local/php/etc/php-fpm.conf #编辑大约149行---user = www #设置php-fpm运行账号为www大约150行---group = www #设置php-fpm运行组为www大约25行---pid = run/php-fpm.pid #取消前面的分号:wq! #保存退出设置 php-fpm开机启动cp /usr/local/src/php-5.6.3/sapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限chkconfig php-fpm on #设置开机启动vi /usr/local/php/etc/php.ini #编辑配置文件找到:disable_functions =修改为:disable_functions =passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open, proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,rea dlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,po pen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport ,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_ge tpgid,posix_getpgrp,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit,posix_getsid,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,po six_ttyname,posix_uname#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
CentOS 7源码编译安装最新版php5.6和nginx1.7.9及mysql(搭建lnmp环境) – 飞嗨
CentOS 7源码编译安装最新版php5.6和nginx1.7.9及mysql(搭建lnmp环境) –飞嗨突然,一不留神打开了网站,点了一下download,靠,都已经php5.6 stable了,而我yum安装的php还是5.4版本的,太守旧了!嘿嘿,我是微软云的小白鼠,当年就多注册了个账号,还躺着个云服务器在睡觉呢,于是乎,私心想着搭建一个lnmp的备份服务器…源码编译安装,各种依赖包纠结,所以呢,mariadb(mysql)是yum安装的,php5.6和nginx1.7.9是源码安装的…装着装着,在跑./configure脚本的时候,又忘记启用enable curl等等常用扩展鸟,装完后,又去源码目录编译扩展,动态添加扩展…lnmp一、安装mariadb(mysql)服务yum install mariadb mariadb-server mariadb-devel自从mysql被oracle公司收购后,mysql就有闭源收费的风险,所以,就有了社区版改装的mysql分支mariadb来规避这个风险。
centos7开始,yum源的mysql全部都替换成mariadb的了。
所以,mariadb是mysql的一个分支。
不过貌似听说,google有一部分数据库也都已经迁移到mariadb 了,真是要鄙视一下oracle公司,oracle数据库都这么赚了,还打着mysql的主意…二、源码编译安装php5.61.下载php5.6 wget/distributions/php-5.6.5.tar.gz纠结的是,刚安装好的centos 7连wget都木有,所以yum -y install wget然后再下载,,,2.解压tar -xvzf php-5.6.5.tar.gz 进入cd php-5.6.53.运行./configure脚本,启用需要的扩展模块,并指定php的安装目录 ./configure –enable-fpm –enable-mbstring–with-mysql=mysqlnd –with-mysqli=mysqlnd–with-pdo-mysql=mysqlnd这一步很是关键的,我忘记指定–prefix,它默认也是给我安装在/usr/local/php,不过还是指定一下比较妥当。
LNMP(linux+nginx+mysql+php)服务器环境配置
LNMP(linux+nginx+mysql+php)服务器环境配置一、简介Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过三年了。
Igor Sysoev在建立的项目时,使用基于BSD许可。
在高并发连接的情况下,Nginx是Apache服务器不错的替代品。
Nginx同时也可以作为7层负载均衡服务器来使用。
Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。
Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻、腾讯网、搜狐博客等门户网站频道,六间房、等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,盛大在线、金山逍遥网等网络游戏网站,豆瓣、人人网、YUPOO相册、金山爱词霸、迅雷在线等新兴Web 2.0网站。
为什么Nginx的性能要比Apache高得多?这得益于Nginx使用了最新的epoll (Linux 2.6内核)和kqueue(freebsd)网络I/O模型,而Apache则使用的是传统的select模型。
目前Linux下能够承受高并发访问的 Squid、Memcached都采用的是epoll网络I/O模型。
处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。
下面用一个比喻来解析Apache采用的select模型和Nginx采用的epoll模型进行之间的区别:假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。
Nginx支持PHP环境的两种方法
Nginx支持PHP环境的两种方法
Nginx默认是不支持PHP环境的,我们可以通过两种方法来让Nginx支持PHP环境
方法一:编译安装PHP的时候,在配置时添加PHP的fpm模块“--enable-fpm”,用来调用本机的PHP环境
1.编译安装PHP
首先安装PHP所需要的工具包
然后编译安装PHP,在配置的时候加上“--enable-fpm”这个配置项
安装后调整
2.配置Nginx支持PHP环境,启动php-fpm进程。
首先创建一个php-fpm程序用户php(名字随意)
然后修改php-fpm配置文件,保存退出
最后启动该程序
3.配置Nginx支持PHP解析,修改Nginx配置文件,需要在相应的“server{}”配置段中添加location设置,以便指定当访问.php网页时采取何种操作。
修改后重启Nginx服务
4.编写PHP测试页
5.浏览器访问
方法二:Nginx的反向代理,我们可以将对Nginx服务器的.php动态请求转交给的LAMP 服务器来处理。
从而可以实现Nginx负责静态页面以及LAMP负责动态页面的静动分离效果
1.直接设置Nginx的配置文件,找到对应的“server{}”配置段,然后使用选项“proxy_pass”来指定Apache服务器,让Apache来响应.php的请求。
例如:Apache服务器的IP地址为19
2.168.100.2
添加好以后重启Nginx服务即可。
配置nginx支持php,jsp,asp,aspxWEB安全 电脑资料
配置nginx支持php,jsp,asp,aspxWEB平安电脑资料配置nginx支持php,jsp,asp,aspx…说到Nginx,大家应该比拟熟悉了吧,虽然出现地比拟晚,但是他优良的性能让很多系统工程师折服,并被大量的采用,让nginx通过fastcgi支持php已经介绍过了,这里仅介绍让nginx 反向代理tomcat等jsp容器来serve jsp页面的方法:假设你已经配置了tomcat并跑在本机的8080端口,翻开你的虚拟机配置文件,加下以下几行:location / {proxypass 127.0.0.1:8080;proxyredirect off;proxysetheader Host $host;proxysetheader X-Real-IP $remoteaddr;proxysetheader X-Forwarded-For $proxyaddxforwardedfor; clientmaxbodysize 10m;clientbodybuffersize 128k;proxyconnecttimeout 30;proxysendtimeout 30;proxyreadtimeout 30;proxybuffersize 4k;proxybuffers 4 32k;proxybusybufferssize 64k;proxytempfilewritesize 64k;}OK啦,jsp可以跑了!想径向代理IIS?apache?——尽管去做吧!PS:现在官方已经推出Windows版本的Nginx,所以支持Asp或者.就完全是水到渠成了,可以直接在一台机器上做了,不用完全依赖mono 了,模板,内容仅供参考。
linux nginx安装配置文件支持php
linux nginx安装配置文件支持php2010-02-06 14:00 佚名 csdn 字号:t | tLinux Nginx 超越 Apache 的高性能和稳定性,使得国内使用Linux Nginx作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻等门户网站频道,六间房、等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web 2.0网站。
AD:51CTO学院:IT精品课程在线看!在向大家详细介绍Linux Nginx之前,首先让大家了解下Linux Nginx,然后全面介绍Linux Nginx,希望对大家有用。
利用Linux Nginx架设高性能的Web环境 Linux Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
Linux Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。
Igor 将源代码以类BSD许可证的形式发布。
Linux Nginx 超越 Apache 的高性能和稳定性,使得国内使用Linux Nginx作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻等门户网站频道,六间房、等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,豆瓣、YUPOO相册、海内SNS、迅雷在线等新兴Web 2.0网站。
实验环境Centos4.51.pcre-7.8.tar.gz 正则表达式下载地址:ftp:///pub/software/programming/pcre/2.nginx-0.7.26.tar下载地址:/3.php-5.2.6.tar.bz2下载地址:/releases/4.php-5.2.6-fpm-0.5.9.diff.gz5.php-fpm是为PHP打的一个FastCGI管理补丁,可以平滑变更php.ini配置而无需重启php-cgi下载地址:/6.注:PHP的版本要和fpm的版本一致mysql-5.0.67.tar.gz7.Discuz!_6.0.0_SC_UTF8.zip1、安装pcre1.# tar -zxvf pcre-7.8.tar.gz2.# cd pcre-7.83.# ./configure4.# make && make install2、安装Linux Nginx1.# tar -zxvf nginx-0.7.26.tar.gz2.# cd nginx-0.7.263.# ./configure --prefix=/usr/local/nginx4.# make && make install1.启动nginx# /usr/local/nginx/sbin/nginx2.停止nginx# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`3.重启nginx kill -HUP `cat /usr/local/nginx/logs/nginx.pid`4.添加到自启动# echo "/usr/local/nginx/sbin/nginx">>/etc/rc.local3、安装mysql1.# tar -zxvf mysql-5.0.67.tar.gz2.# cd mysql-5.0.673.# groupadd mysql4.# useradd -g mysql -s /sbin/nologin -M mysql5.# ./configure --prefix=/usr/local/mysql --with-charset=gbk--with-extra-charset=all --enable-hread-safe-client--enable-local-infile --with-low-memory6.# make && make install7.# cp support-files/f /etc/f8.# chown -R mysql.mysql /usr/local/mysql/9.# /usr/local/mysql/bin/mysql_install_db --user=mysql10.# chown -R root.root /usr/local/mysql/11.# chown -R mysql.mysql /usr/local/mysql/var/启动数据库服务,并添加到自启动1.# /usr/local/mysql/bin/mysqld_safe --user=mysql &2.#cp support-files/mysql.server /etc/rc.d/init.d/mysqld3.#chmod 755 /etc/rc.d/init.d/mysqld加入自动启动服务队列:1.#chkconfig --add mysqld2.#chkconfig --level 345 mysqld on添加root密码3.# /usr/local/mysql/bin/mysqladmin -u root password "123456"4.测试一下:# /usr/local/mysql/bin/mysql -u root -p输入密码:123456,看能不能进入到数据库配置库文件搜索路径1.# echo "/usr/local/mysql/lib/mysql">>/etc/ld.so.conf2.# ldconfig3.# ldconfig -v4.添加/usr/local/mysql/bin到环境变量PATH中5.#echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile6.#source /etc/profile4、安装PHP这里产生的是可执行文件,和apache的不一样,和apache结合的时候产生的是动态库1.# tar -jxvf php-5.2.6.tar.bz22.# gzip -cd php-5.2.6-fpm-0.5.9.diff.gz |patch -d php-5.2.6 -p13.# cd php-5.2.64.# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm5.--with-config-file-path=/usr/local/php/etc --enable-force-cgi-redirect6.# make && make install7.# cp php.ini-recommended /usr/local/php/etc/php.ini8.# vi /usr/local/php/php-fpm.conf1.(1)<value name="listen_address">127.0.0.1:9000</value>修改为<value name="listen_address">IP:9000</value>//本机就用默认的127.0.0.12.(2)下面这两行去掉注释并修改3.<value name="sendmail_path">/usr/sbin/sendmail -t -i</value>4.<value name="display_errors">1</value>5.(3)<value name="user">nobody</value> //去注释6.(4)<value name="group">nobody</value> //去注释7.(5)<value name="allowed_clients">127.0.0.1</value> //允许连接的PC,本机就用127.0.0.1启动php-fpm# /usr/local/php/sbin/php-fpm start添加到自启动# echo"/usr/local/php/sbin/php-fpm start">>/etc/rc.local5、修改Linux Nginx的配置文件,支持PHP1.# vi /usr/local/nginx/conf/nginx.confer nobody;3.worker_processes 8;4.pid /usr/local/nginx/logs/nginx.pid;5.worker_rlimit_nofile 1024;7.{use epoll;8.worker_connections 1024;}9.http{10.include mime.types;11.default_type application/octet-stream;12.server_names_hash_bucket_size 128;13.client_header_buffer_size 32k;rge_client_header_buffers 4 32k;15.client_max_body_size 8m;1.sendfile on;2.tcp_nopush on;3.keepalive_timeout 60;4.tcp_nodelay on;5.fastcgi_connect_timeout 300;6.fastcgi_send_timeout 300;7.fastcgi_read_timeout 300;8.fastcgi_buffer_size 64k;9.fastcgi_buffers 4 64k;10.fastcgi_busy_buffers_size 128k;11.fastcgi_temp_file_write_size 128k;12.gzip on;13.gzip_min_length 1k;14.gzip_buffers 4 16k;15.gzip_http_version 1.0;16.gzip_comp_level 2;17.gzip_types text/plain application/x-javascript text/css application/xml;18.gzip_vary on;19.21.listen 80;22.server_name ;23.root /var/www/blog;24.index index.html index.htm index.php;25.location ~ .*\.(php|php5)?$ {26.root html;27.fastcgi_pass 127.0.0.1:9000;28.fastcgi_index index.php;29.fastcgi_param SCRIPT_FILENAME /var/www/blog$fastcgi_script_name;30.include fastcgi_params;}31.location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$32.{expires 30d;}33.location ~ .*\.(js|css)?$34.{expires 1h;}35.log_format access '$remote_addr -$remote_user [$time_local] "$request" '36.'$status $body_bytes_sent "$http_referer" '37.'"$http_user_agent" $http_x_forwarded_for';38.access_log /var/logs/access.log access;}}注:server部分为PHP虚拟主机127.0.0.1:9000为fastcgi的PC,我这里用的本机/var/www/blog$fastcgi_script_name; 为PHP网页保存的目录测试配置文件:# /usr/local/nginx/sbin/nginx -t6、优化Linux内核参数1.# vi /etc/sysctl.conf2.在末尾增加以下内容:.ipv4.tcp_fin_timeout = 30.ipv4.tcp_keepalive_time = 300.ipv4.tcp_syncookies = 1.ipv4.tcp_tw_reuse = 1.ipv4.tcp_tw_recycle = 1.ipv4.ip_local_port_range = 5000 65000 使配置立即生效:# /sbin/sysctl -p。
nginx配置ThinkPHP5二级目录访问
nginx配置ThinkPHP5⼆级⽬录访问可以通过项⽬名/模块名/⽅法名进⾏访问第⼀步⾸先,你要确保在不配置⼆级⽬录的情况下,可以通过浏览器访问到。
例如:如果不能正常访问,报404错误,建议看⼀看你的nginx配置中是如何处理php的。
因为ThinkPHP中index.php并不⼀定都是在URL中末尾出现的,所以要使⽤location ~ .php($|/)⽽不是location ~ .php$例如如下配置:location ~ \.php($|/) {root /home/html;fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}第⼆步进⾏URL重写,将默认访问URL中的index.php?s=通过rewrite隐藏location /blog/ {index index.php index.html index.htm;if (!-e $request_filename){rewrite ^/blog/(.*)$ /blog/index.php?s=$1 last;}}这样就可以通过来进⾏访问了。
其实nginx的⼆级⽬录配置都是⼀样的套路,这⾥也可以参考以前写过的另⼀篇配置记录:有的⼩伙伴配置后出现访问资源⽂件报错模块不存在错误,这⾥只需添加对静态资源⽂件的特殊处理即可,例如:location ~ .*\.(css|js|gif|jpg|jpeg|png|bmp|swf)$ {root /home/html;expires 30d;}。
phpnginx配置
pm.max_children = 40 #最大子进程数量 request_terminate_timeout = 600 #php-fpm进程执行超时时间
php.ini : max_execution_time = 300 #php执行超时时间 max_input_time = 300 #获取post上传数据最长时间 memory_limit = 128M #内存限制 default_socket_time
php.ini :
file_uploads = On ;打开文件上传选项 upload_max_filesize = 20M ;上传文件上限 post_max_size = 20M ;post上限
php-fpm.conf php_admin_value[memory_limit] = 64M
nginx 和 php上传文件大小设置 如果上传文件时超过了nginx的限制,就会返回一个“413 Request Entity Too Large”的错误。 nginx.conf --- http节: client_max_body_size 20m;
修改完成之后重启nginx或reload配置。
我这边测试下来多台机器都使用9000端口似乎也没有冲突也能正常调试
phpnginx配 置
nginx 和 php超时设置 nginx.conf --- http节:
keepalive_timeout 600; #客户端浏览器超时时间 fastcgi_connect_timeout 600; #php-fpm连接超时时间(等待php执行的最长时间,超过这个会向浏览器返回504或502) fastcgi_send_timeout 600; # fastcgi_read_timeout 600;
nginx+php环境安装教程
nginx+php环境安装教程第一步 rpm -Uvh /packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm第二部 yum install nginx第三部 systemctl start nginx//查看nginx运行状态systemctl status nginx//查看nginx启动设定systemctl list-unit-files | grep nginx//设置nginx开机自动启动systemctl enable nginx// 查看防火墙设置firewall-cmd --state//永久允许防火墙http请求firewall-cmd --permanent --zone=public --add-service=httpfirewall-cmd --reload// 列出防火墙设定firewall-cmd --list-all --zone=public123456789101112131415161718192021222324252 62728安装php7// 修改Php7 相应的 yum源rpm -Uvh /pub/epel/epel-release-latest-7.noarch.rpmrpm -Uvh /yum/el7/webtatic-release.rpm//安装phpyum install php70w php70w-opcache123456安装php-fpm//使用 yum 安裝 php、php-fpm、php-mysqlyum install php70w-fpm//查看php-fpm的启动设置systemctl list-unit-files | grep php-fpm// 允许php-fpm开机自启动systemctl enable php-fpm// 修改 PHP-FPM listen 的方式若想將 PHP-FPM listen 的方式,改成 unix socket,可以編輯 /etc/php-fpm.d/www.conf将listen = 127.0.0.1:9000//改成listen = /var/run/php-fpm/php-fpm.sock。
【IT专家】使用nginx php
本文由我司收集整编,推荐下载,如有疑问,请与我司联系使用nginx php使用nginx php-fpm 和ubuntu 随机502 网关错误[英]random 502 gateway errors with nginx php-fpm and ubuntu I was having an issue with random 502 gateway errors using nginx and php-fpm. In my case I discovered a scenario where various php.ini error_log settings and error_reporting levels were causing the random 502 gateway errorsto appear.使用nginx 和php-fpm 我遇到了随机502 网关错误的问题。
在我的情况下,我发现了一个场景,其中各种php.ini error_log 设置和error_reporting 级别导致出现随机502网关错误。
By changing the php.ini settings error_reporting and error_log I was able to make the 502 gateway errors disappear - but more importantly I was able to see what the real phperrors were in the log and fix them.通过更改php.ini 设置error_reporting 和error_log,我能够使502 网关错误消失- 但更重要的是,我能够看到日志中真正的php 错误并修复它们。
The main issue was that if “error_reporting was set to display notices, “error_logging = On” then I needed make sure that error_log was set to a valid path tat was writable to theserver.主要问题是,如果“error_reporting设置为显示通知”,则“error_logging = On”然后我需要确保将error_log 设置为有效路径,这对于服务器是可写的。
Linux下从零开始安装配置Nginx服务器+PHP开发环境
Linux下从零开始安装配置Nginx服务器+PHP开发环境Nginx是俄罗斯⼈编写的⼗分轻量级的HTTP服务器,以事件驱动的⽅式编写,所以有⾮常好的性能,同时也是⼀个⾮常⾼效的反向代理、负载平衡。
其拥有匹配Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,⽽且Lighttpd的mod_proxy也有⼀些问题并且很久没有更新。
因此我打算⽤其替代Apache应⽤于Linux服务器上。
但是Nginx并不⽀持cgi⽅式运⾏,原因是可以减少因此带来的⼀些程序上的漏洞。
那么我们必须使⽤FastCGI⽅式来执⾏PHP程序。
下⾯是我成功地配置Nginx + PHP5 FastCGI的过程⾸先安装或编译Nginx安装Nginx源码包可以在官⽅主页上下载。
Ubuntu 7.10可以直接通过apt安装,也可以从这⾥下载最新的deb包:sudo apt-get install nginx如果要⾃⼰编译的话,需要确保⾃⼰已经有编译器和PCRE的库(⽤于Nginx的rewrite模块,如果不需要这个模块可以在configure时使⽤./configure –without-rewrite),编译⽅法如下:wget http://sysoev.ru/nginx/nginx-0.5.34.tar.gztar zxvf nginx-0.5.34.tar.gzcd nginx-0.5.34./configure #默认配置安装路径为/usr/local/nginx 可以追加--prefix=/usr设置到/usrmake && make install # install要求有root权限Ubuntu安装之后的⽂件结构⼤致为:所有的配置⽂件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下程序⽂件在/usr/sbin/nginx⽇志放在了/var/log/nginx中并已经在/etc/init.d/下创建了启动脚本nginx默认的虚拟主机的⽬录设置在了/var/www/nginx-default⽽⾃⼰利⽤默认配置编译的,则放在/usr/local/nginx下,以下是⽬录结构:/usr/local/nginx/conf 配置⽬录/usr/local/nginx/html 默认的⽹站根⽬录/usr/local/nginx/logs ⽇志和pid⽂件⽬录/usr/local/nginx/sbin 执⾏⽂件⽬录下⾯可以启动nginx来看看效果(请确保80端⼝没有其他服务在使⽤):Ubuntu请运⾏:sudo /etc/init.d/nginx start其他请运⾏:/usr/local/nginx/sbin/nginx要配置nginx的⾃动运⾏,可以将/usr/local/nginx/sbin/nginx添加到/etc/rc.local中,Ubuntu可以执⾏update-rc.d nginx defaults安装PHP5⾄于如何在Linux上安装PHP,有很多⽂章,甚⾄很多平台上都有现成的软件包,⽆需⾃⼰编译。
安装配置php-fpm来搭建Nginx+PHP的生产环境
安装配置php-fpm来搭建Nginx+PHP的⽣产环境nginx本⾝不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。
nginx⼀般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi⼦进程处理结果并返回被nginx本⽂以php-fpm为例介绍如何使nginx⽀持PHP⼀、编译安装php-fpm什么是PHP-FPMPHP-FPM其实是PHP源代码的⼀个补丁,旨在将FastCGI进程管理整合进PHP包中。
必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使⽤。
新版PHP已经集成php-fpm了,不再是第三⽅的包了,推荐使⽤。
PHP-FPM提供了更好的PHP进程管理⽅式,可以有效控制内存和进程、可以平滑重载PHP配置,⽐spawn-fcgi具有更多优点,所以被PHP官⽅收录了。
在./configure的时候带 –enable-fpm参数即可开启PHP-FPM,其它参数都是配置php的,具体选项含义可以查看这⾥。
安装前准备centos下执⾏yum -y install gcc automake autoconf libtool makeyum -y install gcc gcc-c++ glibcyum -y install libmcrypt-devel mhash-devel libxslt-devellibjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-develzlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-develncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-develkrb5 krb5-devel libidn libidn-devel openssl openssl-devel新版php-fpm安装(推荐安装⽅式)wget /distributions/php-5.4.7.tar.gztar zvxf php-5.4.7.tar.gzcd php-5.4.7./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt--enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath--enable-inline-optimization --with-bz2 --with-zlib --enable-sockets--enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex--with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli--with-gd --with-jpeg-dirmake all install以上两种⽅式都可以安装php-fpm,安装后内容放在/usr/local/php⽬录下以上就完成了php-fpm的安装。
Linux系统中设置多版本PHP共存配合Nginx服务器使用
Linux系统中设置多版本PHP共存配合Nginx服务器使⽤应⽤环境LNMP的环境,当前PHP版本5.3.8,遇到⼀个应⽤需求只⽀持PHP 5.2.x,⼜希望保持现有应⽤还是⽤PHP 5.3.8。
也就是说需要两个版本的PHP同时存在,供nginx根据需要调⽤不同版本。
思路Nginx是通过PHP-FastCGI与PHP交互的。
⽽PHP-FastCGI运⾏后会通过⽂件、或本地端⼝两种⽅式进⾏监听,在Nginx中配置相应的FastCGI监听端⼝或⽂件即实现Nginx请求对PHP的解释。
既然PHP-FastCGI是监听端⼝和⽂件的,那就可以让不同版本的PHP-FastCGI同时运⾏,监听不同的端⼝或⽂件,Nginx中根据需求配置调⽤不同的PHP-FastCGI端⼝或⽂件,即可实现不同版本PHP共存了。
配置记录下⾯记录简单的配置流程,基于已经安装了lnmp的debian环境。
当前版本的PHP是5.3.8,位于/usr/local/php。
1.下载PHP-5.2.14及相关的FPM、autoconf组件:mkdir ~/php5.2cd ~/php5.2wget -c /php5/php-5.2.14.tar.gzwget -c /downloads/php-5.2.14-fpm-0.5.14.diff.gz2.解压PHP-5.2.14,并打上PHP-FPM的补丁:tar zxvf php-5.2.14.tar.gzgzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p13.如果你已经通过lnmp安装,应该已经安装好了autoconf,如果没有,请⾃⾏下载并编译autoconf-2.13,然后设置autoconf环境变量:export PHP_AUTOCONF=/usr/local/autoconf-2.13/bin/autoconf¬export PHP_AUTOHEADER=/usr/local/autoconf-2.13/bin/autoheader3.编译安装PHP-5.2.14在新的路径(/usr/local/php-5.2.14)下,注意–prefix、–with-config-file-path的路径,并且打开fastcgi和fpm选项:cd php-5.2.14/./buildconf --force./configure --prefix=/usr/local/php-5.2.14 --with-config-file-path=/usr/local/php-5.2.14/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-fastcgi --enable-fpmmake ZEND_EXTRA_LIBS='-liconv'make install4.设置/usr/local/php-5.2.14/etc/php-fpm.conf,监听端⼝:<value name="listen_address">127.0.0.1:9001</value>或者监听⽂件:<value name="listen_address">/path/to/unix/socket</value>其他参数根据服务器环境和需求⾃⾏定制。
Nginx支持php
Nginx⽀持php⽬录⼀.简介Nginx本⾝只能解析html⽂件,但有些⽹页是php写的,就需要Nginx连接php,将⽹页解析成html再发给客户端。
配置中将.php 结尾的请求通过交给 PHP-FPM 处理,PHP-FPM是PHP的⼀个FastCGI管理器。
⼆.配置1.若没有安装php-fpm,可以看⽂章安装。
2.在server字段中添加⼀个location字段location ~ \.php$ { #匹配php⽂件,只有php⽂件才放到这⾥解析root html; #php页⾯地址#nginx将会连接本地 9000 端⼝执⾏PHP⽂件,使⽤的tcp/ip协议,速度较慢。
若在本地可以换成socket⽅式,去连接php-fpm的sock⽂件,改成fastcgi_pass unix:/var/run/phpfpm.sock;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;#/usr/local/nginx/html是php⽂件所在的⽬录,虽然root那⾏指定了⽬录,但通常不靠谱fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;include fastcgi_params;}3.编写php测试页⾯vim /usr/local/nginx/html/index.php<?phpphpinfo();>4.重启nginx -s reload三.测试四.参数以下均添加到location所在字段#第⼀⾏代码是为FastCGI缓存指定⼀个⽂件路径、⽬录结构等级、关键字区域存储时间和⾮活动删除时间。
fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=TEST:10m inactive=5m;#指定连接到后端FastCGI的超时时间,默认60秒fastcgi_connect_timeout 30;#指定向FastCGI传送请求的超时时间,规定时间内后端服务器必须传输完所有数据fastcgi_send_timeout 30;#指定接收FastCGI应答的超时时间,如果php-fpm迟迟不发送,将超时fastcgi_read_timeout 30;#⽤于指定读取nginx的FastCGI去响应php-fpm的响应头要多⼤的容量fastcgi_buffer_size 64k;#指定本地需要⽤多少和多⼤的缓冲区来缓冲FastCGI的应答请求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由我司收集整编,推荐下载,如有疑问,请与我司联系nginx环境下配置支持php5.6(nginx+PHP)该文主要讲述在nginx环境下如何配置支持php5.6,主要分为三部分:配置安装PHP5.6.25,配置php-fpm组件,配置nginx支持PHP(请自行编译安装nginx) 1、配置安装PHP5.6.25
[root@localhost share]# cp php-5.6.25.tar.gz/usr/local
[root@localhost share]# cd /usr/local
[root@localhost local]# tar -zvxf php-5.6.25.tar.gz
[root@localhost local]# cd php-5.6.25
[root@localhost php-5.6.25]# ./configure--prefix=/usr/local/php --enable-fpm
要想使php支持php-fpm,只需要在编译的时候带上--enable-fpm 就可以了
configure error xml2-config not found. pleasecheck your libxml2 installation
编译时报以上错误,此时安装相关包再重新编译安装即可。
[root@localhost php-5.6.25]# yum install libxml2
[root@localhost php-5.6.25]# yum install libxml2-devel
[root@localhost php-5.6.25]# ./configure--prefix=/usr/local/php --enable-fastcgi --enable-fpm
[root@localhost php-5.6.25]# make
[root@localhost php-5.6.25]# makeinstall
Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
Installing PHP CLI binary: /usr/local/php/bin/
Installing PHP CLI man page: /usr/local/php/php/man/man1/
Installing PHP FPM binary: /usr/local/php/sbin/
Installing PHP FPM config: /usr/local/php/etc/
Installing PHP FPM man page: /usr/local/php/php/man/man8/
Installing PHP FPM status page: /usr/local/php/php/php/fpm/。