Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置
Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置
说明:
站点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;
Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置的更多相关文章
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
- Nginx(二):虚拟主机配置
什么是虚拟主机? 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功 ...
- WebLogic使用总结(六)——WebLogic创建虚拟主机和修改启动端口号
一.在WebLogic中创建一个虚拟主机 找到虚拟主机面板,如下图所示:
- linux上nginx上配置虚拟主机的相关配置
1.配置主配置: nginx/conf/nginx.conf 2.虚拟主机配置:nginx/conf/extra/learn.weixin.com.conf 配置完后,重启服务器!
- 通过ngx-lua来统计Nginx上的虚拟主机性能数据
Web server调研分析 Filed under: Web Server — cmpan @ 2012-10-29 20:38:34 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebSe ...
- Nginx如何配置虚拟主机?
注意,该环境是依赖于http://www.php20.com/forum.php?m ... &extra=page%3D1 基础上进行配置.默认不具备这些文件 .下面是增加一个mytest点 ...
- 基于Nginx的SSL虚拟主机
通过私钥,证书对站点www.test.com的所有数据加密,实现通过https访问www.test.com 环境说明: 源码安装Nginx时必须使用--with-http_ssl_module参数,启 ...
- Centos7 nginx配置多虚拟主机过程
一.前提准备 1.已经安装好了的Centos7服务器 2.ip 为192.168.1.209 [本次的配置ip] 3.确定防火墙等已经关闭 二.nignx配置文件参数详解 要配置多台虚拟主机,就需 ...
- nginx配置之虚拟主机功能
虚拟主机功能: 一个nginx下运行多个网址(站点域名) 方式一:nginx.conf中的http{}中的每一个server{}就是一个站点(相同端口): #虚拟主机1 server { listen ...
随机推荐
- tensorflow 学习记录
函数变动 tf.train.SummaryWriter 变为 tf.summary.Filewritter 函数功能相同,仅仅是简单的重命名 ``` writer = tf.summary.FileW ...
- ECMAScript中的箭头函数 (=>) 使用注意事项
箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或 new.target.这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数. 箭 ...
- workspace 打开的是我的电脑
在system tree板块的空白处右键-->set root-->current workspace 即可恢复workspace.
- 攻防世界 web 新手练习 刷题记录
1.view_source 既然让看源码,那就F12直接就能看到. 2.robots 先百度去简单了解一下robots协议 robots协议(robots.txt),robots.txt文件在网站根目 ...
- .NET中的字符串(4):字符串 - 特殊的引用类型
字符串驻留 看一下这段代码: 1using System; 2 3namespace Demo4 4{ 5 /**//// <summary> 6 /// String的驻留 7 /// ...
- AOP的基本认识
一.AOP的概念 AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善. ...
- duv中内容不换行的解决办法
<div style='width: 100px;display:block;word-break: break-all;word-wrap: break-word;'> 内容超出div宽 ...
- Linux 笔记:目录
目录 Linux的文件系统目录树庞大而复杂.如果你非常熟悉它的话,会极大地提高你应用Linux的技巧. 简单地说,典型的Linux包含五大文件系统目录. 根据你自己系统的需要和大小,这些文件系统目录能 ...
- numpy中的max()函数
1.ndarray.max([int axis]) 函数功能:求ndarray中指定维度的最大值,默认求所有值的最大值. axis=0:求各column的最大值 axis=1:求各row的最大值
- Ubuntu各个版本的镜像下载地址
http://mirrors.melbourne.co.uk/ubuntu-releases/