游客发表

linux搭建网站

发帖时间:2026-10-17 04:35:48

用Linux搭网站,建网最省事的建网方案是LNMP(Linux + Nginx + MySQL + PHP),整个过程半小时内能跑通。建网我上周刚在一台腾讯云轻量服务器上重新部署了一遍,建网把踩过的建网坑记下来,比翻官方文档快。建网

服务器到手第一件事不是建网装软件,是建网确认系统版本。我用的建网Ubuntu 22.04 LTS,如果你拿的建网是CentOS 7,很多命令要换。建网别小看这一步,建网我上次帮朋友调试,建网他用的建网是CentOS Stream 9,dnf和yum混着用,建网光装个Nginx就折腾了二十分钟。

装Nginx,别急着改配置

Ubuntu下直接apt install nginx -y就行。装完浏览器输入服务器IP,看到“Welcome to nginx!”那个页面,说明80端口通了。如果没通,先查安全组——云服务器默认只开22端口,80和443要手动放行。这个坑我踩过三次,每次都是先怀疑Nginx没启动,结果systemctl status nginx显示running,白白浪费时间。

Nginx的默认站点目录在/var/www/html,配置文件在/etc/nginx/sites-available/default。我习惯先备份原配置,再新建一个自己的。改完nginx -t测语法,然后systemctl reload nginx,别用restart,reload不会断掉现有连接。

MySQL的密码策略是个坑

apt install mysql-server -y之后,Ubuntu默认的root用户用的是auth_socket插件,意思是你用sudo mysql能直接进,但用密码登不上。很多人在这里卡住,以为密码错了。解决办法是进MySQL后执行:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; FLUSH PRIVILEGES;

然后mysql_secure_installation跑一遍,把匿名用户、测试库都删掉。这一步不做的后果是,你的数据库可能被扫描到,我见过一个没做安全初始化的站,上线三天就被注入了挖矿脚本。

PHP版本选对,省一半事

Ubuntu 22.04默认源里是PHP 8.1,够用。装的时候把Nginx的对接模块一起装上:

apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring -y

装完检查/etc/php/8.1/fpm/php.ini里的cgi.fix_pathinfo=0,这个值默认是1,不改的话有安全风险。然后改Nginx配置,把location ~ \.php$那段取消注释,注意fastcgi_pass要指向unix:/run/php/php8.1-fpm.sock,不是127.0.0.1:9000。这个细节不同教程写法不一样,用socket比TCP快一点。

放个测试文件验证

在/var/www/html下建个info.php,内容就一行<?php phpinfo(); ?>。浏览器访问,能看到PHP信息页说明整条链路通了。看完记得删掉,这东西暴露服务器环境信息,留着是隐患。

到这一步,一个能跑PHP的网站环境就搭好了。想装WordPress的话,下载解压到站点目录,改好wp-config.php里的数据库信息,权限设成www-data:www-data,755给目录、644给文件,基本就能跑起来。

最后说个个人习惯:我从来不在生产服务器上直接改配置。本地用Docker起个一样的环境,调好了再同步上去。Docker Compose写个LNMP也就二十行YAML,比在服务器上试错快得多。服务器只负责跑,不负责折腾。

    热门排行

    友情链接