这里以配置2个站点(2个域名)为例,n 个站点可以相应增加调整,假设:
IP地址: 202.55.1.100
域名1 example1.com 放在 /www/example1
配置 nginx virtual hosting 的基本思路和步骤如下:
把这个站点 example1.com放到 nginx 可以访问的目录 /www/
给每个站点分别创建一个 nginx 配置文件 example1.com.conf, 并把配置文件放到 /etc/nginx/vhosts/
然后在 /etc/nginx.conf 里面加一句 include 把步骤2创建的配置文件全部包含进来(用 * 号)
重启 nginx
具体过程
下面是具体的配置过程:
1、在 /etc/nginx 下创建 vhosts 目录
mkdir /etc/nginx/vhosts
2、在 /etc/nginx/vhosts/ 里创建一个名字为 example1.com.conf 的文件,把以下内容拷进去
server {
listen 80;
server_name example1.com www. example1.com;
#access_log /www/access_ example1.log main;
location / {
root /www/example1.com;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/example1.com/$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
3、打开 /etc/nginix.conf 文件
将下面这句在nginx.conf 文件的最后一行,目的引入刚才的vhosts文件
include /usr/local/etc/nginx/vhosts/*;
5、重启 Nginx
/etc/init.d/nginx restart
或者 kill -HUP `cat /var/run/nginx.pid`???? cat 后面跟的是nginx进程pid? 如果不知道nginx.pid文件的位置可以用find / -name nginx.pid 命令来查找
或用yum源码包安装的nginx可以直接service nginx restart
</参考>
<二、我的实例>
--------- vhosts/led.conf
? server {
??????? listen?????? 80;
??????? server_name?? www.led.com
??? ??? index index.html index.htm index.php;
??????? root /usr/local/vhost/led;
??????? #charset koi8-r;
??????? #access_log? logs/host.access.log? main;
??????? location / {
??????????? root??/usr/local/vhost/led;
??????????? index? index.html index.htmindex.php;
??????? }
??????? #error_page? 404????????????? /404.html;
??????? # redirect server error pages to the static page /50x.html
??????? #
??????? error_page?? 500 502 503 504? /50x.html;
??????? location = /50x.html {
??????????? root?? html;
??????? }
??????? # proxy the PHP scripts to Apache listening on 127.0.0.1:80
??????? #
??????? #location ~ \.php$ {
??????? #??? proxy_pass?? http://127.0.0.1;
??????? #}
?
??? location ~ .*\.(php|php5)?$
?????? {
??????? #fastcgi_pass unix:/tmp/php-cgi.sock;
???????? fastcgi_pass? 127.0.0.1:9000;
???????? fastcgi_index index.php;
???????? fastcgi_param? SCRIPT_FILENAME? /scripts$fastcgi_script_name;
????????include fastcgi_params;
?????? }??????
??? location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
?????? {
??????? expires 30d;
?????? }
?????? location ~ .*\.(js|css)?$
????? {
?????? expires 1h;
?????? }
??? log_format access '$remote_addr - $remote_user [$time_local] "$request" '
??? ??? ??? ??? ??? ? '$status $body_bytes_sent "$http_referer" '
??? ??? ??? ??? ?? ??? ? '"$http_user_agent" $http_x_forwarded_for';
???????
??? }
---------------- nginx.conf
user? nginx nginx;
worker_processes? 8;
error_log? logs/error.log;
#error_log? logs/error.log? notice;
#error_log? logs/error.log? info;
pid??????? /usr/local/nginx/nginx.pid;
worker_rlimit_nofile 65535;
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 8m;
??? sendfile??????? on;
??? tcp_nopush???? on;
??? #keepalive_timeout? 0;
??? keepalive_timeout? 65;
??? tcp_nodelay 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;???
??? gzip? on;
??? gzip_min_length 1k;
??? gzip_buffers?? 4 16k;
??? gzip_http_version 1.0;
??? gzip_comp_level 2;
??? gzip_types?? text/plain application/x-javascript text/css application/xml;
??? gzip_vary on;
??? server {
??? ??? listen 80;
??? ??? server_name _;
??? ??? server_name_in_redirect off;
??? ??? location / {
??? ??? root /usr/share/nginx/html;
??? ??? index index.html;
??? ??? }
??? ??? }
??? ??? # 包含所有的虚拟主机的配置文件
??? ??? include /usr/local/nginx/conf/vhosts/*;
??? ??
}
文章摘自 http://blog.sina.com.cn/s/blog_66ac09390101ivep.html
?