Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置
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、单独控制权限设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leet Code之Number of
- 下一篇: windows 7 SDK和DDK下载地