linux搭建网站教程
我见过太多人栽在第一步——装完系统就急着敲命令,建网结果三天后连网站影子都没看到。站教其实Linux搭网站就三件事:装环境、建网传代码、站教配服务。建网但每件事都有坑,站教我直接说怎么绕过去。建网
选系统,站教别纠结
Ubuntu 22.04 LTS或者Debian 12,建网二选一。站教CentOS已经停止维护了,建网别再用老教程。站教买VPS时选带宝塔面板的建网镜像能省半小时,但如果你想学东西,站教我建议从裸系统开始——因为出问题时你得知道去哪看日志。建网
装环境,用apt别用源码
SSH登录后先更新:apt update && apt upgrade -y。然后装Nginx、MySQL、PHP——这是最经典的LNMP组合。
apt install nginx mysql-server php-fpm php-mysql -y 这里有个细节:PHP和Nginx通信靠的是php-fpm.sock文件,默认路径在/run/php/下。我见过有人配错路径,页面直接报502。装完先跑systemctl status nginx确认服务活着,再去碰配置文件。
传代码,别用FTP
用scp或者rsync,一条命令搞定。本地执行:
scp -r ./mysite root@你的服务器IP:/var/www/html/ 如果代码包很大,建议先tar压缩再传。传完记得改权限——chown -R www-data:www-data /var/www/html/mysite,否则PHP没权限读写文件,你会看到一堆白屏错误。
配Nginx,就改一个文件
默认站点配置在/etc/nginx/sites-available/default。直接编辑它,把root改成你的代码目录,加上PHP解析规则:
server { listen 80; root /var/www/html/mysite; index index.php index.html; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } } 改完先nginx -t检查语法,再systemctl reload nginx。这一步最容易出问题的是PHP版本号——你装的可能是8.1,也可能是8.2,去/run/php/目录下看一眼实际文件名。
数据库,记得改密码
MySQL装完默认root密码是空的。执行mysql_secure_installation按提示设置。建库时用:
CREATE DATABASE mydb CHARACTER SET utf8mb4; CREATE USER 'myuser'@'localhost' IDENTIFIED BY '强密码'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost'; utf8mb4很重要——不然中文存进去会变问号。我吃过这个亏,数据表建完才发现编码不对,导出重导折腾了一下午。
防火墙,别把自己关门外
Ubuntu默认开了ufw。执行ufw allow 80/tcp和ufw allow 22/tcp(SSH端口别关,不然你连不上了)。然后ufw enable。有的VPS厂商还有一层安全组,记得在网页控制台也放行80端口。
到这里,浏览器输入服务器IP应该能看到你的网站了。如果打不开,按这个顺序排查:先ping通不通,再telnet 80端口,然后看Nginx日志/var/log/nginx/error.log——八成是配置文件路径写错了。
最后说句实在话:Linux部署网站没有想象中那么神秘,但也没教程里写的那么顺利。你会遇到权限问题、扩展没装、PHP版本不兼容——这些都是正常的。记住一个原则:看日志,改配置,再测试。循环几次,你就能摸清门道了。