什么是云服务器 ECS Linux Web 环境添加站点-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

什么是云服务器 ECS Linux Web 环境添加站点

boxti 2017-10-23 10:07:47 1858


云服务器 ECS Linux 系统通过 Tomcat 添加站点


说明:本章节提到的配置路径以 云市场云服务器 ECS Linux 一键安装 Web 环境<专业版> 标准环境的安装路径为准,如果您在自定义环境下添加 Tomcat 站点,请根据实际安装路径进行配置。

  1. 根据 cd /alidata/server/nginx/conf/vhosts/ 进入绑定域名所在目录,找到配置文件。

  2. 复制一份配置文件: cp test.confnew.conf。然后 vim new.conf 建立一个配置文件。您可以自定义命名 test。

  3. 单击字母 I 开始编辑文件,输入以下内容: listen       80 default;
  4. server_name  www.new.com ;                    # 绑定的网站域名
  5.      index index.html index.htm index.jsp;     # 设置默认首页
  6.      root /alidata/www/webb/;                  # 指定网站的目录,需要和 TomCat 设置的一致
  7.      location ~ \.php$ {
  8.              proxy_pass    http://127.0.0.1:8080;
  9.      }
  10.      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  11.      {
  12.              expires 30d;
  13.      }
  14.      location ~ .*\.(js|css)?$
  15.      {
  16.              expires 1h;
  17.      }
  18.      access_log  /alidata/log/nginx/access/default.log;
  19. }

按 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 地址,故此方法不适用。

基于端口号


适用场景:
  • 适用于利用不同的端口识别不同的网站的情况,
  • 适用于网站域名短缺但服务器的端口号充足的情况。

具体实现:
访问站点时,使用网址加端口号的方式实现。配置该方式后需要在网站域名末尾加上端口号来访问不同的网站。
例如:
缺点:
网站后需要加上端口号,不利于用户访问。

基于主机名


适用场景:
  1. 适用于多个网站架在一台服务器上的情况。

具体实现:
使用不同的域名来区分不同的网站,所有的域名解析都指向同一个 IP 地址。Apache 通过在 HTTP 头中附带的 host 参数来判断用户需要访问哪一个网站。
例如:
实例讲解:
以 CentOS 6.5 系统为例,为您详细说明如何配置基于主机名的 Apache 虚拟主机。

  1. 开启 Apache 的 vhost 模块。在 http.conf 配置文件中,找到下面的代码行,删除前面的 # 号,并开启这个 vhost 模块。 #LoadModule vhost_alias_module modules/mod_vhost_alias.so

在 Apache的配置文件夹下新建 vhost.conf,用以作为虚拟主机的配置文件。
编写虚拟主机的内容,先加入默认的文件头。
  1. NameVirtualHost *:80
  2. ServerName *
  3. DocumentRoot /www/html # 为默认情况下网站的目录

根据实际情况添加以下的配置:

  • 在任意的地址上监听 80 端口上的 HTTP 请求。
    1.   ServerAdmin test@huigher.cn                #网站管理员的联系方式?
    2.   DocumentRoot "/var/www/html/test1"         #网站的目录
    3.   ServerName test1.huigher.cn                #主机名,apache就是通过这个地址来识别不同的网站
    4.   ErrorLog "logs/test1.huigher.cn-error_log" #错误日志路径
    5.   CustomLog "logs/test1.huigher.cn-access_log" common #访问日志路径

  • 如果访问报错提示 403,在中添加以下代码。这里主要是由于访问目录没有权限所致。
    1.   <Directory /var/www/html/test1>
    2.   Options FollowSymLinks
    3.   AllowOverride None
    4.   Order deny,allow
    5.   Deny from all
    6.   </Directory>

服务器上有多少个网站,就分别配置多少份以上信息,并根据实际情况修改其中的内容。测试时服务器上的页面配置情况如下:

在 http.conf 文件中加入一行 Include /etc/httpd/conf/vhost.conf,将 vhost.conf 文件内容包含进来.
在 /etc/hosts 文件中将网站的域名绑定到本地环回地址上:
  1. 127.0.0.1 test1.huigher.cn
  2. 127.0.0.1 test2.huigher.cn
  3. 127.0.0.1 test3.huigher.cn

使用 service httpd reload 重新加载配置文件,或使用 service httpd restart 重启 Apache 进程。
经过测试,测试不同的域名返回了不同的网站内容。
如果问题还未解决,您可以到 阿里云社区进行免费咨询,或联系 云市场商家寻求帮助。
域名解析 弹性计算 前端开发 JavaScript Linux 应用服务中间件 Apache PHP 开发工具 nginx
分享到
取消 提交回答
全部回答(0)
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题