当前位置:首页 > 热点

linux下搭建web服务器

linux下搭建web服务器

我见过太多人卡在“装完nginx就以为完事”的搭建幻觉里。真正跑起来那天,搭建你才会撞上防火墙、搭建SELinux、搭建权限、搭建日志轮转这些藏在暗处的搭建坑。今天不聊虚的搭建,直接拿一台干净的搭建CentOS 9 Stream,从零走到浏览器显示“Hello World”。搭建整个过程大概十分钟,搭建但你会明白每一步在干什么。搭建

先装包。搭建用dnf一把梭:dnf install nginx -y。搭建装完别急着启动,搭建先看一眼配置文件——/etc/nginx/nginx.conf里默认监听80端口,搭建但root目录指向/usr/share/nginx/html。你大概率想改到自己的项目路径,比如/var/www/mysite。建目录,扔一个index.html进去,写上“Hello from my Linux box”。

然后启动服务:systemctl start nginx。这时候你打开浏览器,输入服务器IP——大概率打不开。别慌,先查两件事:firewall-cmd --list-all看80端口放没放行,没放行就firewall-cmd --add-service=http --permanent再reload。第二件事更阴险——SELinux。输入getenforce,如果显示Enforcing,恭喜你,nginx会被卡在读取新目录上。临时解法:setenforce 0,但重启就失效。一劳永逸的做法是chcon -R -t httpd_sys_content_t /var/www/mysite,把目录类型改成nginx能读的。

等你看到页面了,别高兴太早。试试重启服务器,然后访问——如果你刚才只开了防火墙没设置开机自启,nginx根本不会跑。输入systemctl enable nginx,这步忘了,下次重启就是白折腾。

现在说点配置文件里的脏活。默认nginx.conf里有一堆注释掉的示例,别碰。你只需要在http块里加一个server块:监听80,server_name填你的域名或IP,root指向你的目录,index指定index.html。改完用nginx -t检查语法,再systemctl reload nginx。reload比restart温柔——它不中断现有连接,只读新配置。

日志是个好东西。出问题别瞎猜,直接看/var/log/nginx/error.log。上次我同事折腾了一下午权限问题,最后发现是目录下某个子文件夹没设x权限,日志里写得清清楚楚:“Permission denied”。学会看日志,比百度任何教程都管用。

最后给你留个后门思路——如果你以后要上HTTPS,记得装mod_ssl或者直接配certbot,那又是另一段故事了。但现在,你已经有了一个能跑的服务器。它不完美,但它是你自己的。

分享到: