建网站要自己搭环境,先分清两件事:本地开发环境和线上服务器环境。很多人一上来就在自己电脑装一堆软件,结果外网访问不了;也有人直接买服务器,改配置改到网站打不开。比较稳的做法是本地写代码、线上跑服务,两边环境尽量一致。
本地环境看技术栈。做PHP网站,Windows上可以用phpStudy、XAMPP,装完就有Apache或Nginx、PHP、MySQL,适合调试。Mac可以用MAMP,或者用Homebrew装nginx、php、mysql。更推荐Docker,用docker-compose写nginx、php、mysql三个服务,版本固定,换电脑也能复现。前端项目用Node.js,装nvm管理版本,npm run dev本地预览。本地只给自己看,不要拿家用宽带做公网服务器,动态IP、上传带宽和断电都不靠谱。
线上环境就是买云服务器。入门选2核2G或2核4G,带宽3到5M,系统用Ubuntu 22.04或Debian 12,别选太老的CentOS 7。装环境有两条路:想省事用宝塔面板,免费版够用,可视化装Nginx、PHP、MySQL,开防火墙端口;想干净就命令行,apt装nginx、php-fpm、mysql-server,改配置后systemctl restart。数据库设强密码,别用root远程登录,建独立库和用户。PHP网站把代码传到/var/www/站点目录,Nginx配server_name和root,开伪静态。Node项目用pm2守护,前面套Nginx反代。
域名和访问也要一起弄。域名注册几十元一年,解析A记录到服务器公网IP。国内服务器要备案,通常7到20个工作日,没备案80端口会被拦。安全组放行22、80、443,SSH别用默认密码,最好密钥登录。HTTPS用Let''s Encrypt免费证书,certbot自动续期,现在浏览器对http会提示不安全。上线前把数据库导出导入,检查目录权限,上传目录别给执行权限,开每日备份,装个uptime监控。
环境搭完还要调。Nginx开gzip和静态缓存,图片、CSS、JS走CDN或对象存储,能省带宽。PHP-FPM按内存调进程数,2G内存别开太多,不然MySQL先被挤死。MySQL默认配置偏小,改innodb_buffer_pool_size到内存的三成左右,开慢查询日志。防火墙用ufw,只放行必要端口,装fail2ban挡SSH爆破。代码用Git拉取,别直接ftp覆盖,出问题能回滚。环境变量放.env,别写进代码仓库。

成本上,入门云主机2核2G、3到5M带宽,活动价一年几十到几百,正常续费可能几百到上千;域名com首年几十,续费七八十;SSL和宝塔免费版不花钱;CDN按流量计费,小站每月几块到几十。备案免费但花时间。别为了省钱买1核1G跑MySQL,装完面板就剩不下多少内存,后面加插件很容易崩。
最后提醒:环境搭建不是装完就完事,版本、端口、权限、备份四件事要对齐。本地和线上PHP、MySQL大版本尽量一致,不然容易出莫名错误。先跑通一个静态页,再上数据库,最后接域名和证书,出问题看日志,Nginx的error.log和PHP的error_log最有用。自己搭环境不难,难的是每一步都知道为什么这么配,别照着教程复制完就不管了。