使用ECS产品,可以在单台主机上面搭建多个站点,nginx服务提供了配置基于ip、端口、域名的虚拟主机功能,只要把域名绑定不同的location,然后在指定的路径下上传各个网站的程序即可。
简单介绍一下基于域名的虚拟主机的配置方法:
1. 比如我想建立两个站点的域名分别是www.A.com 和 www.B.com,将这两个域名都解析到自己的服务器ip。
2. 在nginx的配置文件conf目录下创建一个专门存放虚拟主机配置的目录,命名为vhosts_conf,可以把虚拟目录的配置全部放在这里。在里面创建名为vhosts_A.conf和vhosts_B.conf文件并打开,在里面写下相关的配置文件。
配置文件参考:
- server { listen 80; #监听的端口号
- server_name A.com; #域名
- #access_log logs/host.access.log main;
-
- location / {
- root X:/wnmp/www/A; #站点的路径
- index default.php index.php index.html index.htm;
-
- #站点的rewrite在这里写
- rewrite ^/(\w+)\.html$ /$1.php;
- rewrite ^/(\w+)/(\w+)$ /$1/$2.php;
- }
-
- #错误页的配置
- error_page 404 /error.html;
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
-
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
- location ~ \.php$ {
- root X:/wnmp/www/A;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME
- $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
-
- location ~ /\.ht {
- deny all;
- }
- }
3. 在nginx的主配置文件里,设置包含这两个站点的配置文件。
打开nginx.conf文件,在http{…}段输入
#包含所有的虚拟主机的配置文件 (填写服务器中vhosts_conf/*.conf所在绝对路径)
include X:/nginx/conf/vhosts_conf/*.conf;
4. 在指定的路径下上传每个站点的数据
5. 重启nginx,测试是否访问正常