php、nignx虚拟主机配置

php模块服务配置
配置如下  
vim /usr/local/nginx_php/etc/php-fpm.conf
[global]
pid = /usr/local/nginx_php/var/run/php-fpm.pid
error_log = /usr/local/nginx_php/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock
user = php-fpm            ;运行用户
group = php-fpm          ;组
listen.owner = nobody     ;监听php-fcgi.sock的用户         
listen.group = nobody
pm = dynamic      ;生成进程
pm.max_children = 50       可以启动多少进程
pm.start_servers = 10        一开始启动多少进程
pm.min_spare_servers = 5    最少启动的进程数
pm.max_spare_servers = 25   最多启动的进程数
pm.max_requests = 500    到达多少请求后自动结束进程
rlimit_files = 1024    一次请求的最大字节数

重新启动php
/etc/init.d/php-fpm restart
其中php配置文件中的php-fcgi.sock文件所有属主及属组是php文件中定义的用户,
也就是这里的nobody,否则php无法解析php页面

nginx配置文件如下(按照本次环境不会出现问题)

user nobody nobody;             #启动nginx服务的用户与组
worker_processes 2;             #启动nginx服务的工作进程
error_log logs/nginx_error.log crit;         #错误日志,以及等级
pid     /usr/local/nginx/logs/nginx.pid;     #nginx服务进程PID

worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 6000;
   }
http
{
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 3526;
server_names_hash_max_size 4096;
log_format combined_realip ‘$remote_addr $http_x_forwarded_for [$time_local]‘
‘$host "$request_uri"$status‘
‘"$http_referer""$http_user_agent"‘
sendfile on;
tcp_nopush on;
keepalive_timeout 30;
client_header_timeout 3m ;
client_body_timeout 3m ;
send_timeout 3m ;
connection_pool_size  256 ;
client_header_buffer_size 1k ;
large_client_header_buffers 8 4k ;
request_pool_size 4k ;
output_buffers 4 32k ;
postpone_output 1460 ;
client_max_body_size 10m ;
client_body_buffer_size 10m ;
client_body_temp_path /usr/local/nginx/client_body_temp ;
proxy_temp_path /usr/local/nginx/proxy_temp ;
fastcgi_temp_path /usr/local/nginx/fastcgi_temp ;
fastcgi_intercept_errors on ;
tcp_nodelay on ;
gzip_min_length 1k ;
gzip_buffers 4 8k ;
gzip_comp_level 5 ;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript/css text/htm ;
#application/xml;
server
{
  listen 80;
  server_name localhost;
index index.html index.htm index.php ;
root /usr/local/http;

location ~\.php$
    {
     include fastcgi_params;
     fastcgi_pass unix:/tmp/php-fcgi.sock ;
     fastcgi_index index.php ;
     fastcgi_param SCRIPT_FILENAME /usr/local/http$fastcgi_script_name ;
         }
       }
     }

nginx启动脚本(根据自己nginx所在目录修改)
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions

# Nginx Settings
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/var/nginx.pid"

RETVAL=0
prog="Nginx"

start() {
        echo -n $"Starting $prog: "
        mkdir -p /dev/shm/nginx_temp
        daemon $NGINX_SBIN -c $NGINX_CONF
        RETVAL=$?
        echo
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        killproc nginx -TERM
        rm -rf /dev/shm/nginx_temp
        RETVAL=$?
        echo
        return $RETVAL
}

reload(){
        echo -n $"Reloading $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

restart(){
        stop
        start
}

configtest(){
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac

exit $RETVAL

给予启动文件权限
chmod 755 /etc/init.d/nginx
将nginx加入系统开机启动
chkconfig --add nginx
chkconfig nginx on

nginx跟php有两种通信方式
php配置文件中修改通信方式
listen = /tmp/php-fcgi.sock 或
listen = 127.0.0.1:9000

nginx配置文件中修改
在 location ~\.php$
    {
下找到fastcgi_pass unix:/tmp/php-fcgi.sock ;
修改成和php中相同通信方式
fastcgi_pass unix:/tmp/php-fcgi.sock ;  或
fastcgi_pass 127.0.0.1:9000 ;

nginx虚拟主机
在主配置文件中添加
include vhosts/*.conf;
并在当前目录下创建vhosts目录
mkdir vhosts
在此目录下创建以.conf结尾的虚拟主机配置文件,写入如下内容
server
{
  listen 80 ;
  server_name 网站域名;
index index.html index.htm index.php ;
root /网页目录;
   location ~\.php$
    {
     include fastcgi_params;
     fastcgi_pass unix:/tmp/php-fcgi.sock ;
     fastcgi_index index.php ;
     fastcgi_param SCRIPT_FILENAME /网页目录$fastcgi_script_name ;
         }
      }

也可以直接在主配置文件中复制server段内容进行修改

时间: 2024-10-15 19:44:33

php、nignx虚拟主机配置的相关文章

IP、Apache虚拟主机配置部分学习笔记

IP地址 IP地址就是计算机的一个"编号",该编号是唯一的.相当于我们的身份证号码一样. IP地址格式:a.b.c.d  ,每一段的取值范围0-255. 本机的IP地址:127.0.0.1      只能是自己访问自己,别人无法通过这个IP访问你的电脑. 本机的域名:localhost         只能是自己访问自己,别人无法通过这个域名来访问你的电脑. 别人要想访问你的电脑,必须通过网卡的IP地址来访问. nslookup  www.baidu.com  命令窗口查看域名对应得I

Apache虚拟主机配置

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似. 1. Apache基于域名配置虚拟主机: 打开Apache安装目录下的配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息: <VirtualHost _default_:80> DocumentRoot &quo

lamp centos虚拟主机配置

1.基于不同端口的虚拟主机配置 [[email protected]~]# vi /etc/httpd/conf/httpd.conf Listen 80      #设置监听不同的虚拟主机需要使用的端口 Listen 8080 Listen 8088 <Virtualhost*:80>                      #三个不同端口的主机 ServerName www.80.com DocumentRoot /var/www/html/80 </Virtualhost>

Ngnix 安装、信号量、虚拟主机配置

一.Ngnix安装 ngnix的安装很简单 1.先从ngnix官网下载ngnix压缩包 wget http://nginx.org/download/nginx-1.6.2.tar.gz 2.解压并进入其目录 tar -zxf nginx-1.6.2.tar.gz cd nginx-1.6.2 3.编译安装 ./configure --prefix=/usr/local/ngnix #此处有可能报错,Ngnix依赖于pcre库,所以要先安装pcre库 yum install pcre pcre-

apache2.2 虚拟主机配置

一.改动httpd.conf 打开appserv的安装文件夹,找到httpd.conf文件,分别去掉以下两行文字前面的#号. #LoadModule vhost_alias_module modules/mod_vhost_alias.so 去掉#意思是启用apache的虚拟主机功能. #Include conf/extra/httpd-vhosts.conf 去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置 二.改动httpd-vhosts

apache2.4 虚拟主机配置

网上教程很多,仅记录我的配置,可供参考 一.修改httpd.conf 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. [plain] view plain copy #LoadModule vhost_alias_module modules/mod_vhost_alias.so 去掉#意思是启用apache的虚拟主机功能. [plain] view plain copy #Include conf/extra/httpd-vhosts.conf 去

虚拟主机配置的问题

出现以下的问题: 打开浏览器输入虚拟主机网址不显示主页,显示以下的文件 虚拟主机配置没有问题,系统主机开启的前提下. 主要的原因是:木有开启虚拟主机. 解决: 打开apache/conf/httpd.conf将以下虚拟主机的注释删除掉就可以了.

CentOS 7运维管理笔记(7)----Apache基于域名的虚拟主机配置

使用基于域名的虚拟主机配置是比较流行的方式,可以在同一个IP上配置多个域名并且都通过80端口访问. (1) 在网卡 eth0的第五个接口上配置 192.168.1.215 这个地址: (2) 配置/etc/hosts文件,192.168.1.215 对应的域名如下: 做ping测试,保证ip是导通的: (3) 建立虚拟主机存放网页的根目录,并创建首页文件的 index.html 文件 (4)修改 /usr/local/apache2/conf/httpd.conf 文件,使得服务器开始Liste

CentOS 7运维管理笔记(6)----Apache 基于端口的虚拟主机配置

如果一台服务器只有一个IP或需要通过不同的端口访问不同的虚拟主机,可以使用基于端口的虚拟主机配置. (1) 在虚拟机的CentOS7服务器上配置 eth0:4 为192.168.1.214: (2) 配置 /etc/hosts文件以方便测试: 进行ping测试,看ip地址有没有导通: (3) 建立虚拟主机存放网页的根目录,并建立首页文件 index.html (4) 修改 /usr/local/apache2/conf/httpd.conf 文件,在文件末尾添加以下内容: Listen 192.