自己做的html网站上传到服务器并访问
把写好的自己 HTML 文件拖进服务器,浏览器输入域名,网站务器问页面弹出来——这事听起来简单,上传但第一次做的到服人多半会卡在某个环节。我上周帮朋友部署他的并访摄影作品集网站,一个纯静态页面,自己折腾了四十分钟才跑通。网站务器问问题不在代码,上传在路径和权限。到服 先说服务器。并访你手上得有一台。自己阿里云、网站务器问腾讯云、上传Vultr 都行,到服最便宜的并访轻量应用服务器一年几十块。买完会拿到一个公网 IP,比如 输密码,回车。进去了。这时候服务器上什么都没有,连 Web 服务都没装。静态 HTML 不需要 Node.js 或 Python,装个 Nginx 就够了。Ubuntu 系统下两条命令: 装完 Nginx 自动启动。你在浏览器输入那个公网 IP,应该能看到 Nginx 的默认欢迎页。这说明 80 端口通了,防火墙没拦。如果看不到,去云控制台的安全组里放行 80 端口。我朋友那台腾讯云默认只开了 22,80 和 443 都得手动加规则。 接下来传文件。Nginx 默认的网站根目录在 注意那个 应该列出你的文件。但这时候浏览器刷新,可能还是 Nginx 欢迎页。为什么?因为默认配置指向的 再刷新,你的页面出来了。但样式可能没加载。打开浏览器控制台,一堆 404。检查 CSS 路径——如果你写的是 权限问题也常见。用 这两条下去,基本就稳了。我朋友那个站最后卡在图片上,他图片文件名带空格,HTML 里写 域名的事另说。你可以在云服务商那儿买个域名,解析到公网 IP,A 记录填 整个流程的核心就三件事:服务器放行端口,文件传到正确目录,权限给对。剩下的都是细节。你第一次做可能花一小时,第二次十分钟。手熟而已。47.98.123.45,还有 root 密码。用 SSH 连上去,Windows 开 PowerShell,Mac 直接终端:ssh root@47.98.123.45apt update apt install nginx -y/var/www/html。你本地写好的 index.html、style.css、images/ 文件夹,全都要放进去。传文件用 scp 最直接:scp -r ./mywebsite/* root@47.98.123.45:/var/www/html/-r,递归复制文件夹。还有路径末尾的斜杠,别漏。传完之后 SSH 回服务器看一眼:ls /var/www/html/index 顺序里,index.html 排在 index.nginx-debian.html 后面。删掉那个默认文件就行:rm /var/www/html/index.nginx-debian.htmlhref="style.css",而 HTML 在根目录,没问题。如果写的是 href="/css/style.css",那服务器上就得有 /var/www/html/css/style.css。路径大小写也要命,Linux 区分大小写,Images/ 和 images/ 是两个东西。scp 传上去的文件属主是 root,Nginx 以 www-data 用户运行,读不了。改一下:chown -R www-data:www-data /var/www/html/ chmod -R 755 /var/www/html/my photo.jpg,浏览器请求时空格变成 %20,服务器上文件名却是真的空格,Nginx 找不到。改成 my-photo.jpg 就好了。这种坑,不亲自踩一遍根本想不到。@ 和 www。等十分钟 DNS 生效,就能用域名访问了。HTTPS 用 Let's Encrypt 的 certbot,两条命令自动配好证书。不过那是下一步的事。先把 IP 访问跑通,再折腾域名,顺序别乱。
-
上一篇
-
下一篇