使用 Web 服务 为 ECS Linux 实例配置网站及绑定域名

简介: Nginx 服务绑定域名 1888元 以 YUM 安装的 Nginx 为例: 执行命令 vi /etc/nginx/nginx.conf 编辑 Nginx 的配置文件,将默认的server {..

Nginx 服务绑定域名


以 YUM 安装的 Nginx 为例:

  1. 执行命令 vi /etc/nginx/nginx.conf 编辑 Nginx 的配置文件,将默认的server {...} 配置修改为以下内容:

    
        
        
    1. server {
    2. listen 80 default_server;
    3. server_name www.123.com;
    4. root /home/web1;
    5. location / {
    6. }
    7. error_page 404 /404.html;
    8. location = /40x.html {
    9. }
    10. error_page 500 502 503 504 /50.xhtml;
    11. location = /50x.html {
    12. }
    13. }
    14. server {
    15. server_name www.abc.com;
    16. root /home/web2;
    17. location / {
    18. }
    19. error_page 404 /404.html;
    20. location = /40x.html {
    21. }
    22. error_page 500 502 503 504 /50x.html;
    23. location = /50x.html {
    24. }
    25. }
    • 访问 www.123.com 时,跳转到 /home/web1 目录。
    • 访问 www.abc.com 时,跳转到 /home/web2 目录。
  2. 执行命令 nginx -s reload 重启 Nginx 服务。

Tomcat 服务绑定域名

  1. 执行命令 vi /etc/TOMCAT_HOME/conf/server.xml编辑 Tomcat 配置文件。

    default_web

    将上述内容修改为:

    
        
        
    1. <Host name="localhost" appBase="webapps" unpackWARs="true" autoPlay="true">
    2. <Value className="org.apache.catalina.valves.AccessLogValue" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %c &quot;%r&quot; %s %b" />
    3. </Host>
    4. <Host name="120.76.210.250" appBase="/data/wwwroot/web" unpackWARs="true" autoPlay="true">
    5. <Content path="" docBase="/data/wwwroot/web" debug="0" reloadable="false" crossContext="true" />
    6. <Value className="org.apache.catalina.valves.AccessLogValue" directory="logs" prefix="120.76.210.250_access_log." suffix=".txt" pattern="%h %l %u %c &quot;%r&quot; %s %b" />
    7. </Host>
    8. <Host name="www.abc.com" appBase="/data/wwwroot/default" unpackWARs="true" autoPlay="true">
    9. <Content path="" docBase="/data/wwwroot/default" debug="0" reloadable="false" crossContext="true" />
    10. <Value className="org.apache.catalina.valves.AccessLogValue" directory="logs" prefix="www.abc.com_access_log." suffix=".txt" pattern="%h %l %u %c &quot;%r&quot; %s %b" />
    11. </Host>
    • 访问 www.abc.com 时,默认跳转到 /data/wwwroot/default 目录。
    • 访问 120.76.210.250 时,默认跳转到 /data/wwwroot/web 目录。
  2. 运行 bin/shutdown 关闭 Tomcat 服务,再运行 bin/startup 重启 Tomcat 服务。

Apache 服务绑定域名

以一键安装包配置的 Apache 环境为例:

  1. 执行命令 cd /alidata/server/httpd/conf/vhosts/ 进入站点配置文件目录。

  2. 执行命令 vi aa.conf 新建一个配置文件,按下键盘上的字母 “I” 键,复制并粘贴以下内容:

    
        
        
    1. Order allow,deny
    2. Deny from all
    3. DocumentRoot /alidata/www/test
    4. ServerName www.test.com
    5. ServerAlias test.com
    6. ErrorLog "/alidata/log/httpd/test-error.log"
    7. CustomLog "/alidata/log/httpd/test.log"

    注意:您需要修改对应的日志名字以区分不同网站的日志信息。

  3. 执行命令 /alidata/server/httpd/bin/apachectl restart 重启 Apache 服务。

Apache 服务配置实现多域名跳转

假设程序目录为 /var/www/html,网站目录结构如下:

websitedirectory

  1. 开启 Apache 的虚拟主机功能,配置对应的虚拟主机到对应的目录即可。

    80

    documentroot

    实现效果

    • 使用 a.example.com 访问时,实际是访问 /var/www/html/a 目录。
    • 使用 b.example.com 访问时,实际是访问 /var/www/html/b 目录。
    • 使用 c.example.com 访问时,实际是访问 /var/www/html/c 目录。

Apache 服务配置二级域名

前提条件:您有一个泛域名解析的顶级域名,例如: aliyun.com 。

  1. 在 httpd.conf 中打开 mod_rewrite 模块;
  2. 在 httpd.conf 的最后,添加以下内容:

    
        
        
    1. RewriteEngine on
    2. RewriteMap lowercase int:tolower
    3. RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
    4. RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
    5. RewriteCond ${vhost:%1} ^(/.*)$
    6. RewriteRule ^/(.*)$ %1/$1

    注意:/usr/local/etc/apache 是 Apache 服务配置文件所在路径,您需要根据实际情况修改。

  3. 执行命令 vi vhost.map 新建文件,复制并粘贴以下内容:

    
        
        
    1. www.aliyun.com /usr/local/www/data-dist/aliyun
    2. bbs.aliyun.com /usr/local/www/data-dist/aliyunbbs
    3. anyname.aliyun.com /usr/local/www/data-dist/anyname

    注意:请注意保持域名+空格+绝对路径的格式。

  4. 在根目录 /usr/local/www/data-dist 下创建对应目录:aliyun , bbs , any name 等目录。

    • 通过浏览器访问 www.aliyun.com 时,实际上访问的就是 /usr/local/www/data-dist/aliyun 目录下的文件。
    • 通过浏览器访问 bbs.aliyun.com 时,实际上访问的就是 /usr/local/www/data-dist/aliyunbbs 目录下的文件。

您可以通过修改 vhost.map 来增加、删除和修改您的二级域名和所指向的实际路径,不需要重启 Apache 服务。

Apache 禁止未经许可的域名访问 ECS 上的网站

ECS 实例上的网站被人恶意指向,例如,您的实例 IP 地址为 123.123.123.123,正常服务的域名为 www.abc.com , 恶意用户使用其他的域名 www.fake.com , 指向 123.123.123.123,此时客户端访问 www.fake.com 时会出现您的网站内容。

通过 Apache 的虚拟主机可以变通的解决这个问题。以如下场景为例:

Apache 版本号 ECS 实例上的网站
2.2.15 http://t1.huigher.cn/
http://p1.huigher.cn/
  1. 打开 Apache 的实际配置文件,如执行命令 vi /etc/httpd/conf/httpd.conf 打开 CentOS 的 Apache 配置文件,加入以下内容:

    1. 加入代码 NameVirtualHost *:80,告知 Apache 使用基于 host 名的虚拟主机功能:

    2. 加入以下代码。

      
            
            
      1. <ViretualHost *:80>
      2. DocumentRoot /var/www/html/error/
      3. ServerName *
      4. ErrorLog logs/dummy-host.example.com-error_log
      5. CustomeLog logs/dummy-host.example.com-access_log common
      6. </ViretualHost>

      注意:当客户端携带的 host 名不在之后设置的网站域名内时,会指向一个 403 错误页面告知用户域名非法,其中 DocumentRoot 是放置错误提示页面的目录,在下面可以放置一个简单的 html 页面提示用户正在访问非法域名。

    3. 加入以下代码。

      
            
            
      1. <VirtualHost *:80>
      2. ServerAdmin p1@huigher.cn
      3. DocumentRoot /var/www/html/another/
      4. ServerName p1.huigher.cn
      5. ErrorLog logs/p1.huigher.cn-error_loh
      6. CustomLog logs/p1.huigher.cn-access_log common
      7. </VirtualHost>
      8. <VirtualHost *:80>
      9. ServerAdmin t1@huigher.cn
      10. DocumentRoot /var/www/html/
      11. ServerName t1.huigher.cn
      12. ErrorLog logs/t1.huigher.cn-error_loh
      13. CustomLog logs/t1.huigher.cn-access_log common
      14. </VirtualHost>

      注意:这一步告知 Apache 合法的网站主机头,您需要根据实际情况修改这个代码块内容,如示例中的 p1.huigher.cn 和 t1.huigher.cn。

  2. 执行命令 /etc/httpd/bin/apachectl restart 重启 Apache 服务。

若您希望其他域名访问您的网站时直接返回 403 错误:

  1. 修改第二步中的代码为以下形式:

    
        
        
    1. <VirtualHost *:80>
    2. DucumentRoot /var/www/html/error/
    3. ServerName *
    4. <Location>
    5. Order Allow, Deny
    6. Deny from all
    7. </Location>
    8. ErrorLog logs/dummy-host.example.com-error_log
    9. CustomLog logs/dummy-host.example.com-access_log commom
    10. </VirtualHost>
  2. 执行命令 /etc/httpd/bin/apachectl restart 重启 Apache 服务。


相关文章
|
11月前
|
存储 监控 安全
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
718 1
Veeam Backup & Replication 13 之初见 - 基于 Linux 和 Web 控制台
|
7月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
8月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
11月前
|
安全 应用服务中间件 网络安全
从零(服务器、域名购买)开始搭建雷池WAF到应用上线简明指南
本文详细介绍了基于雷池WAF的网站防护部署全流程,涵盖服务器与域名准备、WAF安装配置、网站接入设置及静态文件站点搭建等内容。通过最低1核CPU/1GB内存的服务器配置,完成Docker环境搭建、雷池一键安装及端口设置,实现域名解析、SSL证书配置和防护策略优化。同时支持301重定向与HTTP到HTTPS自动跳转,确保访问安全与规范。最后还提供了使用静态文件搭建网站的方法,帮助用户快速构建具备基础WAF防护能力的网站系统。
从零(服务器、域名购买)开始搭建雷池WAF到应用上线简明指南
|
9月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
3019 0
|
11月前
|
数据挖掘 Linux 数据库
服务器数据恢复—Linux系统服务器数据恢复案例
服务器数据恢复环境: linux操作系统服务器中有一组由4块SAS接口硬盘组建的raid5阵列。 服务器故障: 服务器工作过程中突然崩溃。管理员将服务器操作系统进行了重装。 用户方需要恢复服务器中的数据库、办公文档、代码文件等。
|
JavaScript Linux Python
在Linux服务器中遇到的立即重启后的绑定错误:地址已被使用问题解决
总的来说,解决"地址已被使用"的问题需要理解Linux的网络资源管理机制,选择合适的套接字选项,以及合适的时间点进行服务重启。以上就是对“立即重启后的绑定错误:地址已被使用问题”的全面解答。希望可以帮你解决问题。
596 20
|
存储 运维 监控
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
594 1
下一篇
开通oss服务