web服务器怎么搭建
web服务器怎么搭建
我去年给朋友的搭建小公司搭过一台web服务器,用的搭建是一台淘汰的旧电脑,花了不到两小时。搭建整个过程没你想的搭建那么玄乎,核心就三件事:装系统、搭建装服务、搭建开端口。搭建
先别急着选发行版。搭建Ubuntu Server或者Debian都行,搭建随便挑一个熟悉的搭建。我那次用的搭建Ubuntu 22.04 LTS,因为朋友以后自己维护方便,搭建遇到问题搜答案容易。搭建安装时注意磁盘分区别全分给根目录,搭建给/home留点空间,搭建日志文件容易把根目录塞满——这是血泪教训。
系统装完,SSH先连上去。接下来装Nginx,一条命令的事:sudo apt install nginx。装完默认就启动了,浏览器输服务器IP,能看到欢迎页就算成功一半。别急着改配置,先把你的网站文件放到/var/www/html目录下,替换掉默认的index.html试试。
真正麻烦的是权限。默认www-data用户只能读,不能写。如果你要上传文件或者跑个带上传功能的程序,得把目录属主改成www-data:sudo chown -R www-data:www-data /var/www/html。这个坑我踩过,当时传图片老失败,查了半天才明白是权限问题。
静态页面能访问了,就该处理动态内容。我那次是给朋友跑一个PHP的小后台,装PHP-FPM:sudo apt install php-fpm,然后改Nginx配置,在server块里加几行,让.php文件转发给PHP-FPM处理。配置改完记得sudo nginx -t测试语法,没问题再sudo systemctl reload nginx重载。
最后一步,防火墙。Ubuntu默认的ufw要放行80和443端口。很多人卡在这一步,明明服务起来了,外面就是访问不了。检查一下:sudo ufw allow 80/tcp,HTTPS的话再加一条443。
域名解析那块我不细说了,你如果只是测试用IP访问就行。真要绑定域名,去DNS服务商那加个A记录指向服务器IP,然后Nginx配置里加上server_name。就这么简单。
对了,我那次还顺手配了HTTPS,用的Let's Encrypt免费证书。一条命令sudo certbot --nginx自动搞定,连续期都帮你安排好了。现在浏览器都标记不安全的HTTP站点,这步别省。
回头想想,搭建本身不难,难的是后续维护。日志文件在哪看?/var/log/nginx/error.log,出问题先翻这个。系统更新别忘了跑,sudo apt update && sudo apt upgrade,安全补丁不等人。我朋友那台机器后来被扫描爆破过几次,幸好密码设得够长,SSH端口也改了。
用旧电脑跑服务器,噪音和功耗是个问题。建议加个定时任务,晚上没人访问自动关机,早上再开机——省电又安静。你要是没旧机器,云服务器一个月几十块也够用,还能自动备份。
整套弄完,你就有了一台能跑网页的服务器。以后想加数据库装MySQL,想跑Python程序装Gunicorn,都是同样的套路:装包、改配置、重启服务。遇到报错就搜日志,别慌,八成是权限或者路径写错了。
(责任编辑:娱乐)
