Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置

来源:osyunwei.com 作者:qihang01 发表于:2012-08-19 21:26  点击:
说明: 站点1:bbs.osyunwei.com 程序所在目录/data/osyunwei/bbs 站点2:sns.osyunwei.com 程序所在目录/data/osyunwei/sns 系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接 相关配置文件目录: nginx主配置文件:/usr/local/nginx/

说明:

站点1:bbs.osyunwei.com 程序所在目录/data/osyunwei/bbs

站点2:sns.osyunwei.com 程序所在目录/data/osyunwei/sns

系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接

相关配置文件目录:

nginx主配置文件:/usr/local/nginx/conf/nginx.conf

php安装目录:/usr/local/php5/

站点1虚拟主机配置配置文件:/usr/local/nginx/conf/vhost/bbs.conf

站点2虚拟主机配置配置文件:/usr/local/nginx/conf/vhost/sns.conf

实现目的:

1、可以对站点1和站点2单独启动、停止php-fpm

2、站点1和站点2的php运行权限相互隔离,不能跨目录浏览,即站点1内的php木马不能访问站点2中的内容,

同理,站2内的php木马不能访问站点1中的内容。

实现方法:

一、为每个站点创建php-fpm.pid文件

cd /usr/local/php5/var/run

touch php-fpm-bbs.pid

touch php-fpm-sns.pid

二、为每个站点创建php-fpm.conf文件

cd /usr/local/php5/etc/

cp php-fpm.conf php-fpm-bbs.conf

cp php-fpm.conf php-fpm-sns.conf

三、为每个站点建立php-cgi.sock文件

touch /tmp/php-cgi-bbs.sock #建立php-cgi.sock文件

chown www.www /tmp/php-cgi-bbs.sock #设置文件所有者为www(必须与nginx的用户一致)

touch /tmp/php-cgi-sns.sock

chown www.www /tmp/php-cgi-sns.sock

四、编辑相关文件

vi /usr/local/php5/etc/php-fpm-bbs.conf

pid = run/php-fpm-bbs.pid

listen =/tmp/php-cgi-bbs.sock;

vi /usr/local/php5/etc/php-fpm-sns.conf

pid = run/php-fpm-sns.pid

listen =/tmp/php-cgi-sns.sock;

vi /etc/rc.d/init.d/php-fpm

vhost=$2

php_fpm_CONF=${prefix}/etc/php-fpm-$vhost.conf

php_fpm_PID=${prefix}/var/run/php-fpm-$vhost.pid

php_opts="-d open_basedir=/data/osyunwei/$vhost/:/tmp/ --fpm-config $php_fpm_CONF"

vi /usr/local/nginx/conf/vhost/bbs.conf

fastcgi_pass unix:/tmp/php-cgi-bbs.sock;

vi /usr/local/nginx/conf/vhost/sns.conf

fastcgi_pass unix:/tmp/php-cgi-sns.sock;

cd /home

vi start.sh #编辑开机启动脚本

#!/bin/bash

auto=$1

/bin/bash /etc/rc.d/init.d/php-fpm $auto bbs

/bin/bash /etc/rc.d/init.d/php-fpm $auto sns

chmod +x start.sh #添加脚本执行权限

vi /etc/rc.local #编辑开机启动文件

sh /home/start.sh start #加入开机启动

service nginx start

/etc/rc.d/init.d/php-fpm start bbs #单独启动站点bbs.osyunwei.com

/etc/rc.d/init.d/php-fpm start sns

系统运维 温馨提醒:qihang01原创内容版权所有,转载请注明出处及原文链接

/etc/rc.d/init.d/php-fpm stop bbs #单独停止站点sns.osyunwei.com

/etc/rc.d/init.d/php-fpm stop sns

五、相关配置文件内容

/usr/local/nginx/conf/nginx.conf

user www www;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;events {use epoll;worker_connections 65535;
}http {include mime.types;default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;server_names_hash_bucket_size 128;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 300m;sendfile on;tcp_nopush on;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;#keepalive_timeout 0;keepalive_timeout 60;tcp_nodelay on;server_tokens off;gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.1;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;server{listen 80 default;server_name _;location / {root html;return 404;}location ~ /.ht {deny all;}}server{listen 80;#server_name localhost;index index.php default.php index.html index.htm default.html default.htm ;location /status {stub_status on;access_log off;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*\.(js|css)?${expires 12h;}access_log off;}include vhost/*.conf;
}

vi /usr/local/nginx/conf/vhost/bbs.conf

server{listen 80;server_name bbs.osyunwei.com;index index.php index.html index.htm default.html default.htm default.php;root /data/osyunwei/bbs;
location ~ .*\.(php|php5)?${fastcgi_pass unix:/tmp/php-cgi-bbs.sock;fastcgi_index index.php;include fcgi.conf;}location /status {stub_status on;access_log off;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*\.(js|css)?${expires 12h;}access_log off;}

vi /usr/local/nginx/conf/vhost/sns.conf

server{listen 80;server_name sns.osyunwei.com;index index.php index.html index.htm default.html default.htm default.php;root /data/osyunwei/sns;
location ~ .*\.(php|php5)?${fastcgi_pass unix:/tmp/php-cgi-sns.sock;fastcgi_index index.php;include fcgi.conf;}location /status {stub_status on;access_log off;}location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*\.(js|css)?${expires 12h;}access_log off;}

vi /usr/local/nginx/conf/fcgi.conf

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;

转载于:https://www.cnblogs.com/u0mo5/p/4371384.html

Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置相关推荐

  1. Nginx实现多虚拟主机配置

    一.Nginx的应用概述 Nginx作为一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.主要有以下3方面的应用: 1.http服务器 Nginx是一个http服 ...

  2. Nginx优化之虚拟主机

    文章目录 前言 一:Nginx服务基础 1.1:Nginx概述 1.2:Nginx编译安装(过程) 1.3:运行控制(实验过程) 1.4:配置文件nginx.conf 1.5:Nginx的访问状态统计 ...

  3. linux下安装iasp以及apache多站点虚拟主机配置

                      安装配置 1.     linux下安装iasp 1.1需要准备的的安装包: httpd-2.0.59.tar.gz(最好选该版本,2.2版本在安装配置完后启动出错 ...

  4. Nginx安装与虚拟主机配置shell脚本

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Nginx安装与虚拟主机配置shell脚本. 一.NGINX安装 在今天的脚本上,我们开始尝试使用函数和参数,以增强脚本的灵活性和实现脚本的模块 ...

  5. 通过ngx-lua来统计Nginx上的虚拟主机性能数据

    Web server调研分析 Filed under: Web Server - cmpan @ 2012-10-29 20:38:34 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebSe ...

  6. 12.6-12.9 Nginx安装,默认虚拟主机,用户认证,域名重定向

    12.6 Nginx安装 大纲 1 进入src目录,把nginx下载在此目录 #cd  /usr/local/src #wget http://nginx.org/download/nginx-1.8 ...

  7. Nginx如何配置虚拟主机?

    注意,该环境是依赖于http://www.php20.com/forum.php?m ... &extra=page%3D1 基础上进行配置.默认不具备这些文件 . 下面是增加一个mytest ...

  8. 11-4 12 Nginx安装 默认虚拟主机 用户认证 域名重定向

    2019独角兽企业重金招聘Python工程师标准>>> 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 扩展 ngin ...

  9. nginx - nginx的配置文件 - 虚拟主机

    目录 1. nginx 的master进程和worker进程 2. nginx的配置文件 2.1 主配置文件 nginx.conf 2.1.1 主配置文件的作用: 2.1.2  主配置文件的一些常用配 ...

最新文章

  1. BZOJ1935 园丁的烦恼
  2. 黑马程序员pink老师前端入门教程,零基础必看的JavaScript基础语法视频教程(jQuery1)
  3. Mysql - Binlog
  4. jQuery Lightbox图片放大预览
  5. Javascript函数调用的四种模式
  6. linux操作系统进程间通信IPC之管道pipe及FIFO
  7. 计算机二级c语言考试真题及答案详解,计算机二级c语言试题及答案
  8. 1. 走进Java语言 —— Java SE
  9. 计算机网络安全漏洞排查报告,网络安全漏洞自查报告.docx
  10. vue针对ele的form组件校验
  11. LA 3713 Astronauts
  12. 《计算之魂》读书笔记 03
  13. html调用电脑/手机摄像头拍照上传+百度文字识别
  14. Fiddler出现“The system proxy was changed. Click to reenable capturing.”,代理排查
  15. 全局zomm缩放后echarts鼠标偏移的问题(鼠标触发提示框位置有偏差)
  16. 深度剖析C语言结构体
  17. [家里蹲大学数学杂志]第297期丘成桐大学生数学竞赛2014年分析与方程个人赛试题...
  18. [蓝桥杯国赛]客观题
  19. 解决 Mysql 1366 错误
  20. Vue中预览HIKVSION海康威视的NVR(网络硬盘录像机)中多个通道(摄像机)的视频

热门文章

  1. OC基础之访问修饰符
  2. WPF案例:如何设计历史记录查看UI
  3. textView 加入链接
  4. 一步一步学习OC2007(三)--定制菜单命令
  5. 位图索引(bitmap index)冲突引起的TX锁争用
  6. android studio 3.0设置字体
  7. Java求字符串中出现次数最多的字符
  8. 程序兵法:Java String 源码的排序算法(一)
  9. 高考数学经典题(001)
  10. 通过Redis、Memcache的 incr 原子操作防刷机制的使用差别