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

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


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

步骤 1:域名解析

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

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

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

步骤 2:配置服务器

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

操作步骤:
  1. 登录服务器

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

    • Alibaba Linux 默认使用 yum 包管理工具。你可以选择安装 ApacheNginx
      • 安装 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
        
  3. 配置防火墙

    • Alibaba Linux 默认使用 firewalld 而不是 ufw。运行以下命令允许 HTTP 和 HTTPS 流量:
      sudo firewall-cmd --permanent --add-service=http
      sudo firewall-cmd --permanent --add-service=https
      sudo firewall-cmd --reload
      
  4. 配置 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 打开配置文件
  1. 直接编辑主配置文件(不推荐,除非你熟悉 Nginx 配置):

    sudo nano /etc/nginx/nginx.conf
    

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

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

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

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

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

使用 vivim 编辑器
** 打开文件**

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

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

或者:

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

其他文本编辑器

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

安装 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,可以使用 vivim 编辑器。
  • 如果你更喜欢其他编辑器,可以通过 yum 安装它们。
  • 掌握 vivim 的基本操作是很有用的,因为它们几乎在所有 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:保存并测试配置
  1. 保存配置文件

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

    sudo nginx -t
    

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

  3. 重新加载 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),查看网页是否正常显示。

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

步骤 3:部署网页

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

操作步骤:
  1. 上传网页文件

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

    • 确保网页文件的权限正确,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:测试访问

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

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

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

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

操作步骤:
  1. 登录阿里云控制台。
  2. 进入 “ECS(Elastic Compute Service)” 服务。
  3. 在左侧菜单中选择 “安全组”
  4. 找到你的服务器所属的安全组,点击“配置规则”。
  5. 在“入方向”规则中,添加以下规则:
    • 协议类型: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 目录时,你需要明确以下几点:

  1. 本地网页文件的路径:这是你本地计算机上存放网页文件的目录路径。
  2. 服务器的公网IP地址:这是你在阿里云控制台中分配给服务器的公网IP地址。
  3. 服务器的用户名:默认情况下,Alibaba Linux 的用户名可能是 root,但也可能是其他用户(如 ec2-usercentos,取决于你的系统设置)。

以下是具体的命令格式和步骤:


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

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

  • WindowsC:\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

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


注意事项

  1. 权限问题

    • 如果服务器上的 /usr/share/nginx/html 目录没有写权限,你可能需要先登录到服务器并设置正确的权限:
      sudo chmod -R 755 /usr/share/nginx/html
      sudo chown -R nginx:nginx /usr/share/nginx/html
      
  2. 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
      
  3. 文件夹权限

    • 确保上传的文件夹和文件权限正确,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
    

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值