云服务器 ECS Linux 系统通过 Tomcat 添加站点
说明:本章节提到的配置路径以
云市场 的
云服务器 ECS Linux 一键安装 Web 环境<专业版> 标准环境的安装路径为准,如果您在自定义环境下添加 Tomcat 站点,请根据实际安装路径进行配置。
根据 cd /alidata/server/nginx/conf/vhosts/ 进入绑定域名所在目录,找到配置文件。
复制一份配置文件: cp test.conf, new.conf。然后 vim new.conf 建立一个配置文件。您可以自定义命名 test。
单击字母 I 开始编辑文件,输入以下内容: listen 80 default;- server_name www.new.com ; # 绑定的网站域名
- index index.html index.htm index.jsp; # 设置默认首页
- root /alidata/www/webb/; # 指定网站的目录,需要和 TomCat 设置的一致
- location ~ \.php$ {
- proxy_pass http://127.0.0.1:8080;
- }
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
- {
- expires 30d;
- }
- location ~ .*\.(js|css)?$
- {
- expires 1h;
- }
- access_log /alidata/log/nginx/access/default.log;
- }
按 Esc 退出编辑模式,输入
wq 保存退出。
输入
/alidata/server/nginx/sbin/ngins -s restart 重启 Nginx 测试。
进入
/alidata/server/tomcat7/conf/ 目录修改
server.xml 文件,按下 shift+g 跳转至页面底部(大约 124 行的位置),将
Host name=“localhost" 中的 localhost 修改为目标域名,使用
docBase 指定 Web 根目录,同时添加一组 host。然后保存退出。
注意:
docbase 指定的 Web 根目录需要与 Nginx 配置保持一致。当您只配置一个站点的时候,无须设置
docBase,设置多个站点的时候需要分别指定 Web 根目录。
重启 Tomcat。
在浏览器中输入网站域名,测试设置。
云服务器 ECS Linux 系统通过 Apache 添加站点
Apache 的配置文件一般在 /etc/httpd/conf 目录下,httpd.conf 是 Apache 的主配置文件,当您进行配置时可以将虚拟主机的配置文件单独配置,如取名为 vhost.conf。然后在 http.conf 中加入
Include /etc/httpd/conf/vhost.conf,即可将 vhost.conf 的配置文件包含进来。
注意:如果您在自定义环境下添加 Apache 站点,请根据实际安装路径进行配置。
目前在一台服务器上搭建多个网站的方法主要由以下几种:
基于IP地址
适用场景:
适用于一台服务器有多个 IP 地址的情况。
目前阿里云的云服务器 ECS 只允许绑定一个公网 IP 地址和一个私网 IP 地址,故此方法不适用。
基于端口号
适用场景:
- 适用于利用不同的端口识别不同的网站的情况,
- 适用于网站域名短缺但服务器的端口号充足的情况。
具体实现:
访问站点时,使用网址加端口号的方式实现。配置该方式后需要在网站域名末尾加上端口号来访问不同的网站。
例如:
缺点:
网站后需要加上端口号,不利于用户访问。
基于主机名
适用场景:
- 适用于多个网站架在一台服务器上的情况。
具体实现:
使用不同的域名来区分不同的网站,所有的域名解析都指向同一个 IP 地址。Apache 通过在 HTTP 头中附带的 host 参数来判断用户需要访问哪一个网站。
例如:
实例讲解:
以 CentOS 6.5 系统为例,为您详细说明如何配置基于主机名的 Apache 虚拟主机。
开启 Apache 的 vhost 模块。在 http.conf 配置文件中,找到下面的代码行,删除前面的 # 号,并开启这个 vhost 模块。 #LoadModule vhost_alias_module modules/mod_vhost_alias.so
在 Apache的配置文件夹下新建 vhost.conf,用以作为虚拟主机的配置文件。
编写虚拟主机的内容,先加入默认的文件头。
- NameVirtualHost *:80
- ServerName *
- DocumentRoot /www/html # 为默认情况下网站的目录
根据实际情况添加以下的配置:
在任意的地址上监听 80 端口上的 HTTP 请求。
-
ServerAdmin
test@huigher.cn #网站管理员的联系方式?
- DocumentRoot "/var/www/html/test1" #网站的目录
- ServerName test1.huigher.cn #主机名,apache就是通过这个地址来识别不同的网站
- ErrorLog "logs/test1.huigher.cn-error_log" #错误日志路径
- CustomLog "logs/test1.huigher.cn-access_log" common #访问日志路径
如果访问报错提示 403,在中添加以下代码。这里主要是由于访问目录没有权限所致。
-
<Directory /var/www/html/test1>
- Options FollowSymLinks
- AllowOverride None
- Order deny,allow
- Deny from all
- </Directory>
服务器上有多少个网站,就分别配置多少份以上信息,并根据实际情况修改其中的内容。测试时服务器上的页面配置情况如下:
在 http.conf 文件中加入一行
Include /etc/httpd/conf/vhost.conf,将 vhost.conf 文件内容包含进来.
在 /etc/hosts 文件中将网站的域名绑定到本地环回地址上:
- 127.0.0.1 test1.huigher.cn
- 127.0.0.1 test2.huigher.cn
- 127.0.0.1 test3.huigher.cn
使用
service httpd reload 重新加载配置文件,或使用
service httpd restart 重启 Apache 进程。
经过测试,测试不同的域名返回了不同的网站内容。
如果问题还未解决,您可以到
阿里云社区进行免费咨询,或联系
云市场商家寻求帮助。