要访问自己做的网站,需要根据网站的部署环境(本地开发环境或线上服务器)选择不同的方法,同时涉及网络配置、域名解析、服务器设置等多个环节,以下是详细的步骤和注意事项,涵盖从本地开发到线上发布的全流程,帮助顺利实现网站访问。

本地开发环境下的网站访问
在网站开发阶段,通常先在本地计算机上搭建开发环境,此时访问网站无需公网IP,主要通过本地地址或局域网地址实现。
本地服务器启动后的直接访问
使用本地开发工具(如XAMPP、WAMP、MAMP、Docker、VS Code Live Server等)搭建环境后,工具会启动一个本地服务器(如Apache、Nginx、Node.js),默认监听本地地址(127.0.0.1或localhost)和特定端口(如80、3000、8080等)。
- 访问步骤:
打开浏览器,在地址栏输入http://localhost:端口号
或http://127.0.0.1:端口号
,使用Node.js的Express框架默认启动3000端口,则输入http://localhost:3000
;若使用XAMPP的Apache默认80端口,可直接输入http://localhost
(端口号80可省略)。 - 注意事项:
- 确保开发工具已启动服务器,且项目文件位于服务器指定的根目录(如XAMPP的htdocs文件夹、VS Code的工作区)。
- 若端口被占用(如其他程序已占用80端口),需在开发工具中修改端口号(如改为8080),访问时同步更新地址栏端口号。
- 本地访问仅限当前计算机,其他设备无法直接访问(除非配置局域网共享,见下文)。
局域网内访问本地网站(多设备测试)
若需在同一局域网(如家庭、办公室网络)的其他设备(手机、平板、另一台电脑)上访问本地网站,需将本地服务器暴露给局域网,步骤如下:
- 获取本地IP地址:
Windows系统:打开命令提示符,输入ipconfig
查找“IPv4地址”(如192.168.1.100);macOS/Linux:打开终端,输入ifconfig
或ip addr
查找“inet”地址(如192.168.1.101)。 - 配置服务器监听局域网IP:
在开发工具的配置文件中,将监听地址从0.0.1
改为0.0.0
(表示监听所有网络接口)。- Node.js(Express):
app.listen(3000, '0.0.0.0')
- Python(Flask):
app.run(host='0.0.0.0', port=5000)
- Apache/XAMPP:修改
httpd.conf
文件中Listen 127.0.0.1:80
为Listen 0.0.0.0:80
或直接Listen 80
。
- Node.js(Express):
- 局域网设备访问:
其他设备在浏览器中输入http://本地IP地址:端口号
(如http://192.168.1.100:3000
),若端口号为80,可省略端口号(如http://192.168.1.100
)。 - 注意事项:
- 确保本地计算机和访问设备处于同一局域网(同一WiFi或有线连接)。
- 部分路由器可能阻止外部设备访问本地服务,需在路由器设置中“端口转发”或“DMZ主机”(将指定端口映射到本地IP,或直接将本地IP设为DMZ主机,存在安全风险,谨慎使用)。
- 局域网访问仍无法通过公网(如外部网络)访问,仅限局域网内设备。
线上服务器环境下的网站访问
网站开发完成后,需部署到线上服务器(云服务器、虚拟主机、静态托管服务等)才能通过公网访问,核心步骤包括服务器配置、域名解析、SSL证书部署等。

获取服务器并部署网站
- 选择服务器类型:
- 云服务器:如阿里云ECS、腾讯云CVM、AWS EC2,需自行配置服务器环境(安装Web服务器、数据库等),适合动态网站(如PHP、Node.js、Python应用)。
- 虚拟主机:如万网、西部数据的虚拟主机,环境由服务商预配置,适合静态网站或简单动态网站(如WordPress)。
- 静态托管服务:如Vercel、Netlify、GitHub Pages,适合纯静态网站(HTML、CSS、JS),无需配置服务器,自动部署。
- 上传网站文件:
通过FTP/SFTP工具(如FileZilla、WinSCP)上传网站文件到服务器指定目录(如云服务器的/var/www/html
、虚拟主机的public_html
、静态托管的dist
目录)。 - 配置服务器环境:
- 云服务器:需安装Web服务器(Apache/Nginx)、数据库(MySQL/PostgreSQL)及运行时环境(如PHP、Node.js),在Ubuntu上安装Nginx:
sudo apt update && sudo apt install nginx
,然后将网站文件放入/var/www/html
,修改Nginx配置文件/etc/nginx/sites-available/default
,设置根目录和服务器名称。 - 虚拟主机:服务商通常提供控制台,可直接上传文件或通过一键部署(如WordPress安装)。
- 静态托管:通过Git推送代码到仓库(如GitHub、GitLab),服务商自动构建并部署,生成访问地址(如
https://yourname.vercel.app
)。
- 云服务器:需安装Web服务器(Apache/Nginx)、数据库(MySQL/PostgreSQL)及运行时环境(如PHP、Node.js),在Ubuntu上安装Nginx:
绑定域名(可选但推荐)
通过IP地址访问网站(如 http://123.45.67.89
)不便于记忆,需绑定域名(如 www.example.com
),步骤如下:
- 购买域名:在域名注册商(如阿里云万网、腾讯云DNSPod、GoDaddy)购买域名。
- 配置DNS解析:
登录域名管理后台,添加DNS记录,将域名指向服务器IP或云服务商提供的CNAME地址,常见记录类型:
| 记录类型 | 说明 | 示例 |
|----------|------|------|
| A记录 | 将域名指向IPv4地址 | 主机记录: 或www
,记录值:服务器IP(如123.45.67.89) |
| CNAME记录 | 将域名指向另一个域名(常用于云服务商提供的二级域名) | 主机记录:www
,记录值:yourdomain.cloudprovider.com
|
| AAAA记录 | 将域名指向IPv6地址(如服务器支持IPv6) | 记录值:IPv6地址 |
解析生效时间通常为几分钟至几小时(全球DNS缓存差异)。 - 服务器配置虚拟主机:
在Web服务器(Nginx/Apache)中配置虚拟主机,绑定域名,例如Nginx配置:server { listen 80; server_name www.example.com example.com; root /var/www/html; index index.html index.htm; }
配置完成后重启Nginx:
sudo systemctl restart nginx
。
通过公网IP访问(未绑定域名时)
若未绑定域名,可直接通过服务器公网IP访问,获取公网IP的方法:
- 云服务器服务商控制台查看(如阿里云ECS“实例列表”页)。
- 在本地命令提示符/终端输入
curl ifconfig.me
或curl ipinfo.io
(需安装curl工具)。
访问时输入http://公网IP
(如http://123.45.67.89
),若端口号非80(如云服务器安全组默认开放80端口,其他端口需手动开放),需加端口号(如http://123.45.67.89:8080
)。
配置SSL证书实现HTTPS访问
HTTPS通过加密传输保障数据安全,现代浏览器已强制要求网站启用HTTPS,获取SSL证书并配置的步骤:

- 获取免费SSL证书:
- Let's Encrypt:免费、自动化的证书颁发机构,可通过Certbot工具自动申请和部署(支持Nginx/Apache等多种服务器)。
- 云服务商:如阿里云、腾讯云提供免费SSL证书(1年有效期),可在控制台申请并下载。
- 部署SSL证书:
- Certbot自动部署(以Ubuntu+Nginx为例):
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d www.example.com -d example.com
按提示完成邮箱验证和条款同意,Certbot会自动修改Nginx配置,启用HTTPS(监听443端口,配置证书路径)。
- 手动部署:将证书文件(如
.pem
、.key
)上传到服务器,修改Nginx配置:server { listen 443 ssl; server_name www.example.com example.com; root /var/www/html; index index.html; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; } # 强制HTTP跳转HTTPS(可选) server { listen 80; server_name www.example.com example.com; return 301 https://$server_name$request_uri; }
重启Nginx使配置生效。
- Certbot自动部署(以Ubuntu+Nginx为例):
- 验证HTTPS:浏览器输入
https://域名
,查看地址栏是否有锁形标志(表示证书有效),若证书未生效,检查DNS解析是否完成、服务器防火墙/安全组是否开放443端口。
常见问题排查
若无法访问网站,可按以下步骤排查:
- 检查服务器状态:云服务器是否运行(控制台查看状态)、Web服务是否启动(
systemctl status nginx
/systemctl status apache2
)。 - 检查端口开放:服务器安全组(云服务器)或本地防火墙是否开放访问端口(如80、443、3000),可通过
telnet IP 端口号
测试(如telnet 123.45.67.89 80
)。 - 检查文件路径:网站文件是否上传到正确目录(如Nginx的
root
指向路径),是否存在默认首页文件(如index.html
、index.php
)。 - 检查域名解析:
ping 域名
查看是否指向服务器IP(如ping www.example.com
显示IP为123.45.67.89),若解析错误需修改DNS记录。 - 检查浏览器缓存:尝试无痕模式访问,或按
Ctrl+F5
强制刷新缓存。
相关问答FAQs
问题1:本地开发的网站如何让外网(公网)访问?
解答:要让本地网站被公网访问,需将本地服务器暴露到公网,核心步骤包括:
- 获取公网IP:确保本地网络有公网IP(家庭宽带通常为动态IP,企业宽带可能为静态IP);若无,可使用“内网穿透”工具(如花生壳、ngrok、frp)。
- 配置端口转发:在路由器设置中添加端口转发规则,将外部端口(如8080)映射到本地IP的内部端口(如3000)。
- 动态IP解析(可选):若公网IP为动态,可使用DDNS(动态域名解析)服务(如花生壳、阿里云DDNS),将域名动态指向当前公网IP。
- 安全注意事项:直接暴露本地服务器存在安全风险(如被攻击),建议仅用于临时测试,长期部署应使用云服务器。
问题2:网站部署到服务器后,访问时显示“连接超时”或“无法访问该网站”怎么办?
解答:此类问题通常为网络或服务配置问题,可按以下步骤排查:
- 检查服务器状态:登录云服务器控制台,确认服务器处于“运行中”状态;SSH连接服务器,检查Web服务进程是否存在(如
ps aux | grep nginx
)。 - 检查端口开放:在服务器安全组设置中,确认已开放网站访问端口(如80、443);本地测试端口是否开放(
telnet 服务器IP 端口号
,若未安装telnet,Windows可通过“启用或关闭Windows功能”安装)。 - 检查防火墙规则:服务器系统防火墙(如iptables、firewalld)可能阻止端口访问,需添加放行规则(如Ubuntu:
sudo ufw allow 80
;CentOS:firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload
)。 - 检查网站服务配置:确认Web服务器配置的根目录路径正确,网站文件存在(如
/var/www/html/index.html
),且权限设置正确(chmod -R 755 /var/www/html
)。 - 检查域名解析:若通过域名访问,确认DNS解析已生效(
ping 域名
查看IP是否正确),且域名服务器配置正确(如A记录指向服务器IP)。
若以上步骤均正常,可尝试重启Web服务或服务器后再次访问。