|
装一台 Linux Web 服务器,上实最省事的服务路径就是 Nginx 加 PHP 再配个 MySQL。别急着反驳,搭建我知道有人偏爱 Apache,上实但 Nginx 在处理静态文件和并发连接上的服务表现确实更讨喜,尤其当你手头只是搭建一台 1 核 2G 的廉价 VPS 时,这种优势会被放大。上实 先确认系统版本。服务我习惯用 Ubuntu 22.04 LTS,搭建软件源新,上实社区文档也多。服务登录后第一件事不是搭建装软件,而是上实更新索引:sudo apt update && sudo apt upgrade -y。这一步别偷懒,服务有次我跳过升级直接装 Nginx,搭建结果依赖冲突折腾了半小时。 装 Nginx 只需一行:sudo apt install nginx -y。装完系统会自动启动服务并设置开机自启。验证是否跑起来,浏览器输入服务器 IP,看到那个默认的欢迎页就算成了。如果打不开,大概率是防火墙拦了。Ubuntu 默认用 ufw,放行一下:sudo ufw allow 'Nginx Full'。要是云服务器,还得去控制台的安全组里开 80 和 443 端口,这个坑我踩过不止一次。 Nginx 的配置文件在 /etc/nginx/ 下,站点配置通常放在 sites-available,然后软链到 sites-enabled。默认站点文件是 default,你可以直接改它,但更干净的做法是新建一个自己的。比如我要搭个 WordPress,就创建 /etc/nginx/sites-available/wordpress,写入 server 块,指定 root /var/www/wordpress;,再配好 PHP 的 location 转发。改完用 sudo nginx -t 测语法,没问题就 sudo systemctl reload nginx 重载。 接下来是 PHP。Ubuntu 22.04 默认仓库里是 PHP 8.1,够用。装 PHP-FPM 和常用扩展:sudo apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring -y。装完 PHP-FPM 会自动跑起来,监听一个 Unix socket,路径通常是 /run/php/php8.1-fpm.sock。Nginx 配置里要把 PHP 请求通过这个 socket 转给 FPM 处理。一个常见的错误是 socket 路径写错,或者权限不对,导致 502 Bad Gateway。我一般会检查 /etc/php/8.1/fpm/pool.d/www.conf 里的 listen 和 listen.owner 设置,确保 Nginx 用户(通常是 www-data)有权限访问。 数据库这块,MySQL 和 MariaDB 都行。我倾向 MariaDB,更轻量,和 MySQL 命令完全兼容。安装:sudo apt install mariadb-server -y。然后跑 sudo mysql_secure_installation 做基本安全设置,设 root 密码、删匿名用户、禁止 root 远程登录。接着登进去建库建用户:CREATE DATABASE wordpress; CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '你的密码'; GRANT ALL ON wordpress.* TO 'wpuser'@'localhost'; FLUSH PRIVILEGES;。密码别用弱口令,我见过太多被挖矿脚本扫爆的机器,都是因为数据库密码太简单。 文件权限也得留意。Web 目录一般归 www-data 所有,但如果你用 SFTP 上传文件,自己的用户又需要写权限。折中方案是把用户加入 www-data 组,然后目录设 775,文件设 664。别图省事直接 777,那是给自己挖坑。 全部配好后,下载 WordPress 解压到 /var/www/wordpress,浏览器访问服务器 IP 或域名,跟着安装向导填数据库信息就行。如果卡在“无法写入 wp-config.php”,手动创建这个文件,把数据库信息填进去,再继续。 整套流程走下来,顺利的话半小时内能搞定。不顺利的话,多半卡在权限、socket 路径或者防火墙。我的经验是,每改一个配置就重载一次 Nginx 并测试,别攒一堆改动一起上,出了问题排查起来更头疼。服务器这东西,稳比快重要。 |