当前位置:首页 » 编程语言 » centosnginxphp配置

centosnginxphp配置

发布时间: 2022-05-28 03:18:12

Ⅰ 如何架设Nginx+php Web服务器

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。
本文是W3CGROUP在成功架设Nginx+Php Web服务器之后的一个总结,成功设置Nginx开启多域名多站点,并且不会出现502 Bad Gateway错误!
本文测试环境如下:
系统环境
linux version 2.6.9(CentOS release 4.7(Final))
软件环境
nginx-0.6.35.tar.gz
安装步骤
一、 编译安装PHP5.2.9所需的支持库
tar zxvf libiconv-1.13.tar.gzcd libiconv-1.13/./configure --prefix=/usr/localmakemake installcd ../
tar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8/./configuremakemake install/sbin/ldconfigcd libltdl/./configure --enable-ltdl-installmakemake installcd ../../
tar zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9/./configuremakemake installcd ../
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.laln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.soln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.aln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.laln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.soln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
tar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8//sbin/ldconfig./configuremakemake installcd ../
二、编译安装Mysql 5.1.34扩展库
/usr/sbin/groupadd mysql/usr/sbin/useradd -g mysql mysqltar zxvf mysql-5.1.34.tar.gzcd mysql-5.1.34/./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobasemake && make installchmod +w /usr/local/webserver/mysqlchown -R mysql:mysql /usr/local/webserver/mysqlcd ../
MySql的安装此处就省略
三、编译安装PHP(FastCGI模式)
tar zxvf php-5.2.9.tar.gzgzip -cd php-5.2.9-fpm-0.5.10.diff.gz | patch -d php-5.2.9 -p1cd php-5.2.9/./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-saslmake ZEND_EXTRA_LIBS='-liconv'make installcp php.ini-dist /usr/local/webserver/php/etc/php.inicd ../
四、修改php-fpm配置文件
rm -f /usr/local/webserver/php/etc/php-fpm.confvi /usr/local/webserver/php/etc/php-fpm.conf
输入以下内容:
<?xml version="1.0" ?><configuration><section name="global_options"><value name="pid_file">/usr/local/webserver/php/logs/php-fpm.pid</value><value name="error_log">/usr/local/webserver/php/logs/php-fpm.log</value><value name="log_level">notice</value><value name="emergency_restart_threshold">10</value><value name="emergency_restart_interval">1m</value><value name="process_control_timeout">5s</value><value name="daemonize">yes</value></section><workers><section name="pool"><value name="name">default</value><value name="listen_address">127.0.0.1:9000</value><value name="listen_options"><value name="backlog">-1</value><value name="owner"></value><value name="group"></value><value name="mode">0666</value></value><value name="php_defines"><value name="sendmail_path">/usr/sbin/sendmail -t -i</value><value name="display_errors">1</value></value><value name="user">www</value><value name="group">www</value><value name="pm"><value name="style">static</value><value name="max_children">128</value><value name="apache_like"><value name="StartServers">20</value><value name="MinSpareServers">5</value><value name="MaxSpareServers">35</value></value></value><value name="request_terminate_timeout">0s</value><value name="request_slowlog_timeout">0s</value><value name="slowlog">logs/slow.log</value><value name="rlimit_files">51200</value><value name="rlimit_core">0</value><value name="chroot"></value><value name="chdir"></value><value name="catch_workers_output">yes</value><value name="max_requests">500</value><value name="allowed_clients">127.0.0.1</value><value name="environment"><value name="HOSTNAME">$HOSTNAME</value><value name="PATH">/usr/local/bin:/usr/bin:/bin</value><value name="TMP">/tmp</value><value name="TMPDIR">/tmp</value><value name="TEMP">/tmp</value><value name="OSTYPE">$OSTYPE</value><value name="MACHTYPE">$MACHTYPE</value><value name="MALLOC_CHECK_">2</value></value></section></workers></configuration>
五、创建www用户组及www用户
/usr/sbin/groupadd www/usr/sbin/useradd -g www www
六、编译安装Nginx
tar zxvf nginx-0.6.35.tar.gzcd nginx-0.6.35/默认安装:./configuremake && make install默认情况下,Nginx 会被安装在 /usr/local/nginx。通过设定编译选项,你可以改变这个设定。
指定编译选项安装,如:./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_mole --with-http_ssl_molemake && make installcd ../
七、创建fcgi.conf文件
rm -f /usr/local/webserver/nginx/conf/fcgi.confvi /usr/local/webserver/nginx/conf/fcgi.conf

Ⅱ 如何在CentOS 6上通过YUM安装Nginx和PHP

在CentOS 6上通过YUM安装Nginx和PHP-FPM:
第一步,在/etc/yum.repos.d/目录下创建一个源配置文件nginx.repo:
cd /etc/yum.repos.d/
vim nginx.repo

填写如下内容:
[nginx]
name=nginx repo
baseurl=nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
保存,则会产生一个/etc/yum.repos.d/nginx.repo文件。

下面直接执行如下指令即可自动安装好Nginx:
yum install nginx -y
安装完成,下面直接就可以启动Nginx了:
/etc/init.d/nginx start
现在Nginx已经启动了,直接访问服务器就能看到Nginx欢迎页面了的。

Ⅲ 为什么centos7下nginx的php怎么开启报错

首先要编辑php配置文件:

vi /etc/php.ini
error_reporting = E_ERROR
display_errors = On

因为我开启了php-fpm。所以,还要编辑 php-fpm.conf文件,把php_flag[display_errors]设为on:

vi php-fpm.conf

php_flag[display_errors] = on

这样在开发的时候就可以在浏览器中显示php出现的错误了,非常方便。

Ⅳ centos7 怎么让nginx解析php

nginx是不能解析PHP的
需要使用php-fpm来解析PHP,nginx只是负责将用户请求转发给php进程,由PHP进程处理后将结果返回给nginx,最后nginx再讲请求返回给用户
nginx在这扮演一个网关服务器的角色

Ⅳ CentOS 7.2如何搭建Nginx、PHP、tomcat开发环境我直接去相应的官网下载可执行的安装文件不行吗

你可以在nginx,tomcat apache 配制时先用不同的端口,如nginx:80,tomcat:8080,apache:8000,这样就可以了,哪个在前端就把哪个设置成80就行了...还有不懂的可以来后盾人

Ⅵ 如何在CentOS 6上通过YUM安装Nginx和PHP-FPM

准备篇:

1、配置防火墙,开启80端口、3306端口
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面
添加好之后防火墙规则如下所示:
#########################################################

#-config-firewall
#.
*filter
:INPUTACCEPT[0:0]
:FORWARDACCEPT[0:0]
:OUTPUTACCEPT[0:0]
-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-AINPUT-picmp-jACCEPT
-AINPUT-ilo-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport3306-jACCEPT
-AINPUT-jREJECT--reject-withicmp-host-prohibited
-AFORWARD-jREJECT--reject-withicmp-host-prohibited
COMMIT


#########################################################
/etc/init.d/iptables restart #最后重启防火墙使配置生效

2、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq 保存,关闭
shutdown -r now #重启系统

3、配置CentOS 6.2 第三方yum源(CentOS默认的标准源里没有nginx软件包)
yum install wget #安装下载工具wget

wgethttp://www.atomicorp.com/installers/atomic

#下载atomic yum源
sh ./atomic #安装
yum check-update #更新yum软件包
################################################################
安装篇:

一、安装nginx
yum install nginx #安装nginx,根据提示,输入Y安装即可成功安装
service nginx start #启动
chkconfig nginx on #设为开机启动
/etc/init.d/nginx restart #重启
rm -rf /usr/share/nginx/html/* #删除ngin默认测试页

二、安装MySQL
1、安装mysql

yum install mysql mysql-server #询问是否要安装,输入Y即可自动安装,直到安装完成
/etc/init.d/mysqld start #启动MySQL
chkconfig mysqld on #设为开机启动
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
shutdown -r now #重启系统

2、为root账户设置密码
mysql_secure_installation
回车,根据提示输入Y
输入2次密码,回车
根据提示一路输入Y
最后出现:Thanks for using MySQL!

MySql密码设置完成,重新启动 MySQL:
/etc/init.d/mysqld stop #停止
/etc/init.d/mysqld start #启动
service mysqld restart #重启

三、安装PHP
1、安装PHP
yum install php #根据提示输入Y直到安装完成
2、安装PHP组件,使PHP支持 MySQL、PHP支持FastCGI模式

yuminstallphp-mysqlphp-gdlibjpeg*php-imapphp-ldapphp-odbcphp-pearphp-xmlphp-xmlrpcphp-mbstringphp-mcryptphp-bcmathphp-mhashlibmcryptlibmcrypt-develphp-fpm

#根据提示输入Y回车
/etc/init.d/mysqld restart #重启MySql
/etc/init.d/nginx restart #重启nginx
/etc/rc.d/init.d/php-fpm start #启动php-fpm
chkconfig php-fpm on #设置开机启动
################################################################
配置篇

一、配置nginx支持php
cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak #备份原有配置文件
vi /etc/nginx/nginx.conf #编辑
user nginx nginx;#修改nginx运行账号为:nginx组的nginx用户
:wq! #保存退出

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak #备份原有配置文件
vi /etc/nginx/conf.d/default.conf #编辑

index index.php index.html index.htm;#增加index.php

#.0.0.1:9000
#
location~.php${
roothtml;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}


#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径

二、配置php

vi /etc/php.ini #编辑

date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC

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,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,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_getpgid,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,posix_ttyname,posix_uname


#在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
expose_php = Off #在432行 禁止显示php版本的信息
magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入
open_basedir = .:/tmp/ #在380行,设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题,可注销此行,或者直接写上程序目录路径/var/www/html/www.osyunwei.com/:/tmp/
:wq! #保存退出

三、配置php-fpm

cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak #备份原有配置文件
vi /etc/php-fpm.d/www.conf #编辑
user = nginx #修改用户为nginx
group = nginx #修改组为nginx

/etc/init.d/mysqld restart #重启MySql
/etc/init.d/nginx restart #重启nginx
/etc/rc.d/init.d/php-fpm restart #重启php-fpm
################################################################
测试篇
cd /usr/share/nginx/html/ #进入nginx默认网站根目录
vi index.php #新建index.php文件

<?php
phpinfo();
?>


:wq! #保存

chown nginx.nginx /usr/share/nginx/html/ -R #设置目录所有者

chmod 700 /usr/share/nginx/html/ -R #设置目录权限

在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!
################################################################

备注

nginx默认站点目录是:/usr/share/nginx/html/

权限设置:chown nginx.nginx /usr/share/nginx/html/ -R

MySQL数据库目录是:/var/lib/mysql

权限设置:chown mysql.mysql -R /var/lib/mysql


参考文档:http://www.osyunwei.com/archives/2353.html

Ⅶ centos6.5下配置nginx,nginx页面能出现,php测试页面显示空白!!!!!!

1、php5.3以后版本可以配置php-fpm.conf
listen
=
127.0.0.1:9002
2、启动php-fpm服务器
/etc/init.d/php-fpm
start
3、netstat
-ntlp检查9001端口是否启动
4、配置nginx
server
{
listen
80;
access_log
/data/logs/nginx/access.log;
root
/data/www
;
index
index.php
index.html
index.htm;
location
/
{
expires
1d;
}
location
~
\.php$
{
fastcgi_pass
127.0.0.1:9002;
fastcgi_index
index.php;
include
fastcgi.conf;
}
}

Ⅷ centos下nginx+php,几万并发,需要微调哪些参数实现高并发

在不考虑硬件,系统优化,WEB架构和程序优化,缓存,DB优化等,只考虑nginx,几个关键参数如下:
worker_processes 8;
worker_rlimit_nofile 60000;
events {
use epoll;
worker_connections 51200;
}
其实是很限的,对吧,不过nginx本身就是一个高并发web器,这些参数是根据实际情况调的。

Ⅸ nginx配置支持php

nginx本身不支持php解析,需要配合php-fpm来配置。

location~.php${
root/var/www;#指定php的根目录
fastcgi_pass127.0.0.1:9000;#php-fpm的默认端口是9000
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
}

centos下安装php-fpm (php及其它组件已经安装过的情况)

yuminstallphp-fpm

启动php-fpm 并设置开机启动 (centos 7)

systemctlstartphp-fpm
systemctlenablephp-fpm

Ⅹ 请教一个问题 服务器 用的是 centos nginx php 总是报 502 Bad Gateway这个错误 如何解决

重启下php-fpm试试,或者修改fpm配置文件

/etc/php5/fpm/pool.d/www.conf

listen=/var/run/php5-fpm.sock

改为

listen=127.0.0.1:9000

试试。

热点内容
卡罗拉的配置一般买哪个好一点 发布:2025-02-12 11:20:03 浏览:742
没有服务器的IP怎么连上 发布:2025-02-12 11:19:55 浏览:79
编程sqs 发布:2025-02-12 11:09:55 浏览:238
electron脱离编译环境 发布:2025-02-12 11:08:21 浏览:68
安卓一体机喇叭插口在哪里 发布:2025-02-12 11:07:37 浏览:866
广东江门首选dns服务器地址 发布:2025-02-12 10:56:55 浏览:954
台湾大量IP服务器 发布:2025-02-12 10:51:43 浏览:375
sship访问服务器 发布:2025-02-12 10:50:16 浏览:98
人机局脚本 发布:2025-02-12 10:48:03 浏览:66
安卓哪里可以下2k17 发布:2025-02-12 10:45:36 浏览:317