nginx服务器下配置多个站点的方法

这里以配置2个站点(2个域名)为例,n 个站点可以相应增加调整,假设:

IP地址: 202.55.1.100

域名1 example1.com 放在 /www/example1

域名2 example2.com 放在 /www/example2

配置 nginx virtual hosting 的基本思路和步骤如下:

把2个站点 example1.com, example2.com 放到 nginx 可以访问的目录 /www/

给每个站点分别创建一个 nginx 配置文件 example1.com.conf,example2.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/nginx/vhosts/ 里创建一个名字为 example2.com.conf 的文件,把以下内容拷进去

server {
        listen  80;
        server_name  example2.com www. example2.com;

        access_log  /www/access_ example1.log  main;

        location / {
            root   /www/example2.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/example2.com/$fastcgi_script_name;
            include        fastcgi_params;
        }

        location ~ /\.ht {
            deny  all;
        }
}

4、打开 /etc/nginix.conf 文件,在相应位置加入 include 把以上2个文件包含进来

user  nginx;
worker_processes  1;

# main server error log
error_log	/var/log/nginx/error.log ;
pid	/var/run/nginx.pid;

events {
	worker_connections  1024;
}

# main server config
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"‘;

	sendfile        on;
	#tcp_nopush     on;
    	#keepalive_timeout  0;
	keepalive_timeout  65;
	gzip  on;

	server {
        	listen         80;
        	server_name     _;
        	access_log      /var/log/nginx/access.log main;
        	server_name_in_redirect  off;
        	location / {
            		root  /usr/share/nginx/html;
            		index index.html;
        	}
	}

    # 包含所有的虚拟主机的配置文件
    include /usr/local/etc/nginx/vhosts/*;
}

5、重启 Nginx

/etc/init.d/nginx restart
时间: 2024-10-29 21:27:02

nginx服务器下配置多个站点的方法的相关文章

Nginx环境下配置PHP使用的SSL认证(https)

最近一段时间发现好多网站都从http协议变成了加密的https协议,比如说百度.吾志等等.https看起来比http高端了好多,而且在不同的浏览器向上还会显示出不同于http的URL展示效果(比如说chrome 和QQ浏览器 使用https协议的网址就会变色). 于是自己就想着把自己的网站加一个ssl证书,使之变成https://iwenku.net 最开始我使用的是腾讯云的服务器,服务器系统是Windows,使用Windows虽然坏处挺多,但是也有好处,那就是Windows是图形化界面的,这样

通过浏览器查看nginx服务器状态配置方法

通过浏览器查看nginx服务器状态配置方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了通过浏览器查看nginx服务器状态配置方法,本文讲解开启nginx-status的配置方法,并对服务器的参数做了详细讲解,需要的朋友可以参考下 复制代码 代码如下: location /nginx-status { stub_status on; #access_log /var/log/nginx/mmt_nginx_status.log; access_log off; all

linux服务器下配置多tomcat

车辆交易用的系统模块,正在做.老板要看看,以便车城那边的人提出意见.于是在服务器上再次增加一个tomcat. 以前是配置过的,配置过程其实很简单,这次太大意了,找了半天问题. 首先是拷贝一个tomcat,放到一个新的位置,这个tomcat就是我要用的新的tomcat. 然后去配置一下日志的输出位置,在bin目录下的catalia.sh或者startup.sh.网上怎么样配置的都有,呵呵. 然后修改server.xml,配置好虚拟目录和端口信息.在此,connector节点下的protocol一定

nginx环境下配置nagios-关于start_perl_cgi.sh

1 #!/bin/bash 2 set -x 3 dir=/export/servers/nginx 4  5 stop () 6 { 7 #pkill  -f  $dir/perl-fcgi.pl 8 kill $(cat $dir/logs/perl-fcgi.pid) 9 rm $dir/logs/perl-fcgi.pid 2>/dev/null10 rm $dir/logs/perl-fcgi.sock 2>/dev/null11 echo "stop perl-fcgi 

nginx环境下配置nagiosQL-关于nagiosql配置文件

接上文:nginx环境下配置nagios-关于nginx.conf nagiosql文件应该处于conf/domain/目录下 nagiosql配置如下: 1 server 2 { 3         listen       8088; 4         server_name  192.168.44.44; 5         index index.html index.htm index.php; 6         root  /usr/local/nagios/nagiosql/;

nginx环境下配置nagios-关于nagios配置文件nginx.conf

接上文:nginx环境下配置nagios-关于nginx.conf 配置如下: 1 server 2 { 3         listen       80; 4         server_name  192.168.44.44; 5         index index.html index.htm index.php; 6         root  /usr/local/nagios/share; 7         auth_basic "Nagios Access"; 

nginx环境下配置nagios-关于commands.cfg

nagios监控Linux/windows常用配置,以snmp.nrpe实现 1 # 'process-host-perfdata' command definition 2 define command{  3     command_name    process-host-perfdata  4     #command_line    /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HO

nginx环境下配置nagios-关于perl-fcgi.pl

配置文件如下: 请注意,网上提供的官方文档在运行时可能会出现问题,此文中保证无问题. 1 #!/usr/bin/perl  2 #  3 #       author          Daniel Dominik Rudnicki  4 #       thanks to:      Piotr Romanczuk  5 #       email           [email protected]  6 #       version         0.4.3  7 #       w

【转】Eclipse下配置CDT和MinGW终极方法。

网上关于Eclipse中配置CDT和MinGW的教程很多,但大部分都比较早,有些方法已经不适合现在的版本了.为了让那些喜爱Eclipse,计划在Eclipse平台下开发C++的爱好者不至于因为第一步没有迈开,而放弃一个绚丽多彩的Eclipse世界,我就在这介绍一些在Eclipse下配置CDT和MinGW的方法. 网上有许多介绍Eclipse配置的文章,但大多步骤较多,令人望而却步.在这里,第一部分先介绍Eclipse的安装,第二部分是CDT+MinGW的傻瓜式安装教程.第三部分是CDT+MinG