云计算百科
云计算领域专业知识百科平台

基于 Alibaba Linux 部署服务器并通过域名访问网页的详细操作步骤

在使用本教程前,请确保您的阿里云服务器操作系统是操作系统是 Alibaba Linux,这是一个基于 CentOS 的系统,使用的是 yum 包管理工具,而不是 apt。以下是基于 Alibaba Linux 的详细操作步骤,帮助你通过域名访问自己制作的网页。


基于 Alibaba Linux 部署服务器并通过域名访问网页的详细操作步骤

步骤 1:域名解析

域名解析是将域名(如www.example.com)指向服务器的IP地址,让浏览器知道该域名对应的服务器位置。

操作步骤:
  • 登录阿里云控制台:

    • 进入阿里云官网,登录控制台。
    • 找到 “域名解析” 或 “云解析DNS” 服务。
  • 添加解析记录:

    • 在域名解析页面,选择你的域名。
    • 添加解析记录,通常需要以下信息:
      • 记录类型:选择 A 记录(IPv4地址)。
      • 主机记录:填写 @(表示主域名)或 www(表示www.域名)。
      • 记录值:填写你的阿里云服务器的公网IP地址。
      • TTL:可以使用默认值(如10分钟)。
    • 点击“保存”或“添加”。
  • 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

  • 等待解析生效:
    • 域名解析生效可能需要一段时间(通常几分钟到48小时不等),具体取决于DNS缓存和解析服务商。

  • 步骤 2:配置服务器

    确保服务器允许外部访问,并且网站服务正常运行。

    操作步骤:
  • 登录服务器:

    • 使用 SSH 工具(如 PuTTY 或终端)通过服务器的公网IP地址登录到服务器。
    • 示例命令:ssh root@your_server_ip
  • 安装 Web 服务器:

    • Alibaba Linux 默认使用 yum 包管理工具。你可以选择安装 Apache 或 Nginx。
      • 安装 Apache:sudo yum install httpd -y
        sudo systemctl start httpd
        sudo systemctl enable httpd
      • 安装 Nginx:sudo yum install nginx -y
        sudo systemctl start nginx
        sudo systemctl enable nginx
  • 配置防火墙:

    • Alibaba Linux 默认使用 firewalld 而不是 ufw。运行以下命令允许 HTTP 和 HTTPS 流量:sudo firewall-cmd –permanent –add-service=http
      sudo firewall-cmd –permanent –add-service=https
      sudo firewall-cmd –reload
  • 配置 Web 服务器:

    • Apache 配置示例:
      • 编辑 /etc/httpd/conf/httpd.conf,确保 DocumentRoot 指向你的网页目录(如 /var/www/html)。
      • 重启 Apache 服务:sudo systemctl restart httpd
    • Nginx 配置示例:
      • 编辑 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/ 下的配置文件,将 root 指向你的网页目录(如 /usr/share/nginx/html)。
      • 重启 Nginx 服务:sudo systemctl restart nginx
  • 接下来以nginx为例说明修改配置文件步骤:

    配置 Nginx 来指向你的网页目录是一个相对简单的过程。以下是具体的操作步骤,帮助你完成 Nginx 的配置,以便通过域名访问你的网页。

    1:编辑 Nginx 配置文件

    Nginx 的配置文件通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/ 目录下。你可以选择直接编辑主配置文件,或者在 /etc/nginx/conf.d/ 下创建一个新的配置文件(推荐)。

    1.1 打开配置文件
  • 直接编辑主配置文件(不推荐,除非你熟悉 Nginx 配置):

    sudo nano /etc/nginx/nginx.conf

    或者使用其他文本编辑器(如 vi 或 gedit)。

  • 创建一个新的配置文件(推荐):

    sudo nano /etc/nginx/conf.d/your_domain.conf

    将 your_domain.conf 替换为你的域名或项目名称,例如 example.com.conf。

  • 如果系统中没有安装 nano 编辑器,你可以选择其他文本编辑器来编辑文件。常见的替代工具包括 vi 或 vim,它们是大多数 Linux 系统默认安装的编辑器。以下是使用 vi 或 vim 编辑器的简单指南。

    使用 vi 或 vim 编辑器
    ** 打开文件**

    运行以下命令打开需要编辑的文件:

    sudo vi /etc/nginx/conf.d/your_domain.conf

    或者:

    sudo vim /etc/nginx/conf.d/your_domain.conf

    ** 进入编辑模式**
    • vi 和 vim 默认处于命令模式,需要按下 i 键进入插入模式(编辑模式),才能编辑文件。
    ** 编辑文件**
    • 在插入模式下,你可以像在其他文本编辑器中一样编辑文件内容。
    保存并退出
    • 完成编辑后,按下 Esc 键退出插入模式。
    • 输入以下命令保存文件并退出::wq
      • :w 表示保存文件。
      • q 表示退出编辑器。
    强制退出(如果需要)
    • 如果你不想保存更改,可以输入以下命令强制退出::q!

    其他文本编辑器

    如果你更喜欢图形界面的编辑器,也可以安装其他工具,例如 gedit 或 nano。

    安装 nano

    如果你希望使用 nano,可以通过以下命令安装:

    sudo yum install nano -y

    安装完成后,就可以使用 nano 编辑文件了。

    安装 gedit

    如果你更喜欢图形界面的编辑器,可以安装 gedit:

    sudo yum install gedit -y

    安装完成后,使用以下命令打开文件:

    sudo gedit /etc/nginx/conf.d/your_domain.conf


    编辑器小结
    • 如果系统中没有 nano,可以使用 vi 或 vim 编辑器。
    • 如果你更喜欢其他编辑器,可以通过 yum 安装它们。
    • 掌握 vi 或 vim 的基本操作是很有用的,因为它们几乎在所有 Linux 系统上都默认安装。

    步骤 2:配置 Nginx

    在配置文件中,你需要指定 server 块,定义你的网站的根目录、监听端口、域名等信息。

    2.1 示例配置

    以下是一个典型的 Nginx 配置示例,假设你的网页文件存放在 /usr/share/nginx/html 目录下:

    server {
    listen 80; # 监听 HTTP 端口
    server_name your_domain; # 替换为你的域名,如 example.com 或 www.example.com
    root /usr/share/nginx/html; # 网页文件存放的目录
    index index.html index.htm; # 默认的首页文件

    # 配置静态文件的访问规则
    location / {
    try_files $uri $uri/ =404;
    }

    # 可选:配置日志文件路径
    access_log /var/log/nginx/your_domain.access.log;
    error_log /var/log/nginx/your_domain.error.log;
    }

    2.2 说明
    • listen 80;:表示 Nginx 监听 80 端口(HTTP)。
    • server_name:填写你的域名或 IP 地址,如果有多个域名,可以用空格分隔。
    • root:指定你的网页文件存放的目录。
    • index:指定默认的首页文件,例如 index.html。
    • location /:定义访问网站根路径时的行为,try_files 用于尝试加载文件,如果找不到则返回 404 错误。

    步骤 3:保存并测试配置
  • 保存配置文件:

    • 如果你使用的是 nano,按 Ctrl + X,然后按 Y 保存,最后按 Enter。
  • 检查 Nginx 配置文件语法是否正确:

    sudo nginx -t

    如果输出显示 syntax is ok 和 test is successful,说明配置文件没有语法错误。

  • 重新加载 Nginx 以应用配置:

    sudo systemctl reload nginx


  • 步骤 4:上传网页文件

    将你的网页文件上传到服务器的 /usr/share/nginx/html 目录下。你可以使用以下方法:

    • 使用 SCP 命令:scp -r /path/to/your/webpage root@your_server_ip:/usr/share/nginx/html
    • 使用 FTP 工具(如 FileZilla):
      • 连接到服务器,将文件上传到 /usr/share/nginx/html 目录。

    步骤 5:测试访问

    完成以上步骤后,打开浏览器,输入你的域名(如 www.example.com),查看网页是否正常显示。

    如果网页无法显示
  • 确保域名解析生效。
  • 确保服务器防火墙和安全组规则允许 HTTP 流量(80 端口)。
  • 检查 Nginx 的错误日志文件:sudo tail -f /var/log/nginx/error.log
    根据日志信息排查问题。

  • 步骤 3:部署网页

    将你的网页文件上传到服务器的指定目录。

    操作步骤:
  • 上传网页文件:

    • 使用 FTP 工具(如 FileZilla)或 SCP 命令将网页文件上传到服务器的网页目录(如 /var/www/html 或 /usr/share/nginx/html)。
    • 示例命令:scp -r /path/to/your/webpage root@your_server_ip:/var/www/html
  • 设置文件权限:

    • 确保网页文件的权限正确,Web 服务器可以访问它们。
    • 示例命令:sudo chown -R apache:apache /var/www/html # 对于 Apache
      sudo chown -R nginx:nginx /usr/share/nginx/html # 对于 Nginx
      sudo chmod -R 755 /var/www/html # 或 /usr/share/nginx/html

  • 步骤 4:测试访问

    完成以上步骤后,可以通过浏览器访问你的域名,查看网页是否正常显示。

    测试方法:
  • 在浏览器地址栏输入你的域名(如 www.example.com)。
  • 如果网页正常显示,说明配置成功。
  • 如果无法访问,检查以下内容:
    • 域名解析是否生效。
    • 服务器防火墙是否允许 HTTP/HTTPS 流量。
    • Web 服务器配置是否正确。
    • 网页文件是否正确上传到指定目录。

  • 步骤 5:确保安全组规则允许流量

    在阿里云控制台中,确保服务器的安全组规则允许 HTTP(80端口)和 HTTPS(443端口)流量。

    操作步骤:
  • 登录阿里云控制台。
  • 进入 “ECS(Elastic Compute Service)” 服务。
  • 在左侧菜单中选择 “安全组”。
  • 找到你的服务器所属的安全组,点击“配置规则”。
  • 在“入方向”规则中,添加以下规则:
    • 协议类型:TCP
    • 端口范围:80(HTTP)和443(HTTPS)
    • 授权对象:0.0.0.0/0(允许所有IP访问,生产环境中建议限制为特定IP范围)。

  • 总结

    通过以上步骤,你可以完成域名解析、服务器配置、网站部署和访问测试。如果在操作过程中遇到问题,可以参考阿里云的官方文档或联系技术支持获取帮助。

    可能出现的问题以及解决方案:

    防火墙配置时显示FirewallD is not running

    如果在 Alibaba Linux 系统中遇到“FirewallD is not running”错误,说明防火墙服务未启动。以下是解决方法:

    1. 检查防火墙是否已安装

    运行以下命令检查 firewalld 是否已安装:

    firewall-cmd –version

    如果返回版本信息,则表示已安装;如果提示命令未找到,需要先安装防火墙。

    2. 安装 firewalld

    如果未安装,可以通过以下命令安装:

    sudo yum install firewalld -y

    安装完成后,即可启动防火墙。

    3. 启动防火墙

    运行以下命令启动 firewalld:

    sudo systemctl start firewalld

    如果需要在每次开机时自动启动防火墙,运行以下命令:

    sudo systemctl enable firewalld

    4. 检查防火墙状态

    运行以下命令检查防火墙是否已成功启动:

    sudo systemctl status firewalld

    如果状态显示为“active (running)”,则表示防火墙已正常运行。

    5. 配置防火墙规则

    如果防火墙已启动,但需要添加规则(如允许 HTTP 或 HTTPS 流量),可以运行以下命令:

    sudo firewall-cmd –zone=public –add-service=http –permanent
    sudo firewall-cmd –zone=public –add-service=https –permanent
    sudo firewall-cmd –reload

    这些命令会永久允许 HTTP 和 HTTPS 流量,并重新加载防火墙配置。

    6. 如果问题仍未解决

    • 确保系统已正确安装 firewalld。
    • 检查是否有其他防火墙工具(如 iptables)冲突。
    • 如果不需要防火墙,可以选择关闭它:sudo systemctl stop firewalld
      sudo systemctl disable firewalld

    完成以上步骤后,防火墙应该可以正常运行,并允许你设置的流量通过。

    构造scp命令将本地网页文件上传至服务器

    使用 scp 命令将本地的网页文件上传到阿里云服务器的 /usr/share/nginx/html 目录时,你需要明确以下几点:

  • 本地网页文件的路径:这是你本地计算机上存放网页文件的目录路径。
  • 服务器的公网IP地址:这是你在阿里云控制台中分配给服务器的公网IP地址。
  • 服务器的用户名:默认情况下,Alibaba Linux 的用户名可能是 root,但也可能是其他用户(如 ec2-user 或 centos,取决于你的系统设置)。
  • 以下是具体的命令格式和步骤:


    1. 确定本地网页文件路径

    假设你的本地网页文件存放在以下路径:

    • Windows:C:\\Users\\你的用户名\\Documents\\my_website
    • Mac/Linux:/home/你的用户名/my_website

    将路径中的空格替换为 \\ (反斜杠加空格),或者用引号括起来,以避免路径解析错误。


    2. 确定服务器信息

    • 服务器的公网IP地址:例如 192.168.1.1(替换为你的实际IP地址)。
    • 服务器的用户名:通常是 root,但如果你的系统是 Alibaba Linux,也可能是 ec2-user 或其他用户名。

    3. 构造 scp 命令

    以下是具体的命令格式:

    scp -r /path/to/your/webpage root@your_server_ip:/usr/share/nginx/html

    具体示例

    假设你的本地路径是 /home/your_username/my_website,服务器IP地址是 192.168.1.1,用户名是 root,命令如下:

    scp -r /home/your_username/my_website root@192.168.1.1:/usr/share/nginx/html

    如果路径中有空格

    如果路径中有空格,可以用引号括起来,例如:

    scp -r "/home/your_username/my website" root@192.168.1.1:/usr/share/nginx/html

    Windows 用户

    如果你使用的是 Windows 系统,路径格式需要调整为 Linux 风格(即使在 Windows 上运行命令)。例如:

    scp -r "C:/Users/你的用户名/Documents/my_website" root@192.168.1.1:/usr/share/nginx/html


    4. 输入服务器密码

    运行命令后,系统会提示你输入服务器的密码(对应于 root 用户或其他用户)。输入密码后,文件将开始上传。


    5. 验证文件是否上传成功

    登录到服务器,检查文件是否已正确上传到 /usr/share/nginx/html 目录:

    ssh root@192.168.1.1
    cd /usr/share/nginx/html
    ls -l

    如果看到你的网页文件,说明上传成功。


    注意事项

  • 权限问题:

    • 如果服务器上的 /usr/share/nginx/html 目录没有写权限,你可能需要先登录到服务器并设置正确的权限:sudo chmod -R 755 /usr/share/nginx/html
      sudo chown -R nginx:nginx /usr/share/nginx/html
  • SSH 密钥登录:

    • 如果你使用 SSH 密钥登录服务器,而不是密码,需要在 scp 命令中指定私钥文件路径:scp -r -i /path/to/your_private_key.pem /home/your_username/my_website root@192.168.1.1:/usr/share/nginx/html
  • 文件夹权限:

    • 确保上传的文件夹和文件权限正确,Nginx 可以访问它们。
  • 通过以上步骤,你应该能够成功将本地网页文件上传到服务器的 /usr/share/nginx/html 目录。


    部署服务器且配置没有问题,但是通过域名仍然无法访问情况

    已经确认服务器配置没有问题,但仍然无法通过域名访问网页。这种情况下,可能是网络连接、域名解析或防火墙设置等问题导致的。以下是一些排查和解决方法:

    1. 检查域名解析

    即使服务器配置正确,如果域名解析未生效,也无法通过域名访问网页。

    • 检查域名解析记录:登录阿里云控制台,确认域名的解析记录是否正确,确保 A 记录指向服务器的公网 IP。
    • 本地测试域名解析:在本地终端运行以下命令:nslookup your_domain.com
      或者:ping your_domain.com
      如果返回的是服务器的公网 IP,则说明域名解析生效。
    • 清除本地 DNS 缓存:在 Mac 系统中运行以下命令:sudo killall -HUP mDNSResponder
      然后再次测试域名解析。

    2. 检查网络连接

    网络问题可能导致无法通过域名访问网页。

    • 测试网络连通性:在本地终端运行以下命令测试网络连通性:ping your_domain.com
      如果无法连通,可能是网络问题。
    • 检查防火墙设置:确保服务器的防火墙和安全组规则允许 HTTP(80 端口)和 HTTPS(443 端口)流量。

    3. 检查服务器状态

    即使服务器配置正确,服务未启动或端口未正确监听也会导致无法访问。

    • 检查 Nginx 服务状态:登录到服务器,运行以下命令:sudo systemctl status nginx
      如果服务未运行,使用以下命令启动:sudo systemctl start nginx
    • 检查监听端口:运行以下命令确认 Nginx 是否监听了 80 和 443 端口:sudo netstat -tuln | grep :80
      sudo netstat -tuln | grep :443

    4. 检查本地网络环境

    本地网络环境(如 DNS 配置或防火墙)可能阻止域名访问。

    • 更换 DNS 服务:尝试使用其他 DNS 服务(如 Google 的 8.8.8.8 或国内的 114.114.114.114),以排除本地 DNS 问题。
    • 检查本地防火墙:确保本地防火墙未阻止对服务器的 HTTP/HTTPS 访问。

    5. 强制本地解析

    如果域名解析仍然有问题,可以通过修改本地 /etc/hosts 文件强制解析域名到服务器 IP。

    • 编辑 /etc/hosts 文件:sudo nano /etc/hosts
    • 在文件末尾添加一行,格式为:服务器公网IP your_domain.com
      例如:192.168.1.1 your_domain.com
    • 保存并退出后,再次尝试访问域名。

    6. 检查服务器日志

    如果以上方法仍未解决问题,建议查看服务器日志文件以获取更多信息。

    • 查看 Nginx 错误日志:sudo tail -f /var/log/nginx/error.log
    • 查看系统防火墙日志(如果使用 firewalld):sudo journalctl -u firewalld

    如果问题仍未解决,建议联系阿里云技术支持或进一步排查服务器配置。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 基于 Alibaba Linux 部署服务器并通过域名访问网页的详细操作步骤
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!