Nginx virtual host configuration virtual host support PHP +

Description: The first domain name resolves to the IP address of the server configuration before

Site 1: bbs.osyunwei.com program directory / data / osyunwei / bbs

Site 2: sns.osyunwei.com program directory / data / osyunwei / sns

chown www.www / data / osyunwei / -R # directory provided owner, www account is running nginx

chmod 700 / data / osyunwei / -R # Set directory permissions

nginx configuration file path: /usr/local/nginx/conf/nginx.conf

Before you modify back up the original configuration file cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.confbak

I. Prohibition of empty host header nginx

vi /usr/local/nginx/conf/nginx.conf # edit

Find the server, add the following in the top line:

##############################

server { listen 80 default;

               server_name  _;      

               location / {     

                   root   html;      

                   return 404;                     

               }     

               location ~ /.ht {     

                   deny  all;                    

                }      

}

##############################

After this set, empty Host Header visit will jump directly to the nginx404 error page.

Second, add nginx web hosting include files

cd / usr / local / nginx / conf / # to enter the installation directory nginx

mkdir vhost # establish a virtual directory

vi /usr/local/nginx/conf/nginx.conf # edit

Find the code to add the previous step, add the following at the end:

include vhost/*.conf;

E.g:

server { listen 80 default;

               server_name  _;      

               location / {     

                   root   html;      

                   return 404;                     

               }     

               location ~ /.ht {     

                   deny  all;                    

                }      

}

include vhost/*.conf;

##############################

Third, the modified connector nginx fastcgi way for unix domain socket

touch /tmp/php-cgi.sock # establish php-cgi.sock file

chown www.www /tmp/php-cgi.sock # Set the file owner (the user must be consistent with nginx) is www

vi /usr/local/nginx/conf/nginx.conf # edit the nginx configuration file

fastcgi_pass 127.0.0.1:9000; modify

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

vi /usr/local/php5/etc/php-fpm.conf # php-fpm edit the configuration file

modified to listen = 127.0.0.1:9000

listen =/tmp/php-cgi.sock;

Four, /usr/local/nginx/conf/nginx.conf profile after revision as well (the recommended direct use of the edited file)

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 ;

 root /data/osyunwei;

location ~ .*.(php|php5)?$

                    {

                            fastcgi_pass  unix:/tmp/php-cgi.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;

    }

include vhost/*.conf;

}

Fifth, create a configuration file fcgi.conf

vi /usr/local/nginx/conf/fcgi.conf # add the following

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;

Sixth, create a virtual host configuration file

vi /usr/local/nginx/conf/vhost/bbs.osyunwei.com.conf # add the following memory

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.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;

    }

Seven test

Find init.d / php-cgi

修改:
#DAEMON_OPTS=”-a 127.0.0.1 -p 9000 -C 1 -u www-data -f /usr/bin/php-cgi”

DAEMON_OPTS=”-a 127.0.0.1 -s /tmp/php-cgi.sock -C 1 -u www-data -f /usr/bin/php-cgi”

vi /data/osyunwei/bbs/index.php # new file, add the following <php phpinfo ();??>: wq # save and exit!

vi /data/osyunwei/sns/index.php # new file, add the following <php phpinfo ();??>: wq # save and exit!

/etc/rc.d/init.d/nginx restart # restart nginx

/etc/rc.d/init.d/php-fpm restart # restart php-fpm

Author: 1198553937 Cruiser

Guess you like

Origin blog.51cto.com/14624160/2454589