php、nignx虚拟主机配置
admin
2023-06-25 16:02:15
0

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段内容进行修改

相关内容

热门资讯

电视为什么一直闪屏 由于电源电压不稳定或电源供电不足的缘故、电视分辨率的故障、电视存在周围有电磁干扰的缘故、电视的刷新频...
专访塞尔维亚总统武契奇 塞尔维亚总统武契奇首次对中国进行国事访问,接受《高端访谈》专访。他说,这是他政治生涯中最重要的一次访...
大理宾川:六一儿童节前夕,警方... “大风在刮,大雪在下。烽火中拼杀,危难的关头热血护中华。不怕流血,不怕牺牲。只为守护家,先烈用生命换...
杀入固态电池赛道,5150 亿... 农夫山泉创始人、前中国首富钟睒睒,又有新动作! 近日,钟睒睒通过旗下养生堂战略投资固态电池材料企业智...
南京测试机器人楼宇外立面清洗,... 扬子晚报网5月29日讯(记者 张可)南京存量楼宇数量庞大、外立面日常养护、翻新清洁需求旺盛。长期以来...
特朗普推迟就伊朗相关协议作最终... 新华社华盛顿5月29日电(记者黄强 徐剑梅)据美国《纽约时报》29日援引一名不愿透露姓名的政府高级官...
字节跳动AI4S团队调整,由杨... 有传言称,字节Seed旗下AI4S团队,正在讨论新一轮组织调整,包括从字节分拆的可能性。 5月29日...
算启新程 智领未来 中国移动亮... 蓬勃盛夏,智潮奔涌。5月28日,2026世界智能产业博览会(以下简称“智博会”)在天津盛大开幕。作为...
原创 v... PChome 5月29日评测,作为一个手机相册里存着几千张Live图的人,vivo S系列一直是我的...
神舟二十一号航天员乘组平安抵京 据中国载人航天工程办公室消息,圆满完成神舟二十一号载人飞行任务的航天员乘组,于北京时间2026年5月...