在VPS(虚拟专用服务器)上搭建网站是一个系统性的过程,涉及服务器环境配置、网站部署、安全优化等多个环节,以下将详细讲解从准备工作到网站上线的完整步骤,帮助用户顺利完成搭建。

准备工作
在开始搭建前,需明确以下几点:
- 选择VPS服务商:根据需求选择可靠的VPS提供商,如阿里云、腾讯云、 Vultr、DigitalOcean等,考虑配置(CPU、内存、带宽)、地域、价格及售后服务。
- 购买VPS并获取信息:完成购买后,登录服务商控制台获取VPS的IP地址、root密码(或初始登录凭证)、SSH端口号(默认22)。
- 域名解析:若使用自定义域名,需在域名管理后台添加A记录,将域名指向VPS的IP地址,等待DNS解析生效(通常几分钟到24小时)。
连接VPS并初始化环境
通过SSH连接服务器
使用终端工具(如Windows的PuTTY、Mac/Linux的Terminal)连接VPS,命令格式为:
ssh root@你的VPS_IP -p 端口号
首次登录需确认主机密钥(输入yes
),然后输入root密码登录,建议后续创建新用户并禁用root登录,提升安全性。
更新系统软件包
登录后,执行以下命令更新系统及软件包:

- Ubuntu/Debian系统:
apt update && apt upgrade -y
- CentOS/RHEL系统:
yum update -y
配置防火墙
根据系统类型开放必要端口(如80 HTTP、443 HTTPS、22 SSH):
- Ubuntu/Debian(使用UFW):
ufw allow 22/tcp ufw allow 80/tcp ufw allow 443/tcp ufw enable
- CentOS(使用firewalld):
firewall-cmd --permanent --add-port=22/tcp firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --reload
安装Web服务器环境
常见的Web环境组合有LAMP(Linux+Apache+MySQL+PHP)、LNMP(Linux+Nginx+MySQL+PHP),此处以LNMP为例(Nginx性能更优,适合高并发场景)。
安装Nginx
执行以下命令安装Nginx:
- Ubuntu/Debian:
apt install nginx -y
- CentOS:
yum install nginx -y
安装后启动Nginx并设置开机自启:
(图片来源网络,侵删)systemctl start nginx systemctl enable nginx
通过浏览器访问VPS IP,若看到Nginx欢迎页面,说明安装成功。
安装MySQL数据库
MySQL用于存储网站数据:
- Ubuntu/Debian:
apt install mysql-server -y
- CentOS:
yum install mysql-server -y
安装后启动MySQL并安全配置:
systemctl start mysqld systemctl enable mysqld mysql_secure_installation # 按提示设置root密码、移除匿名用户等
安装PHP及扩展
PHP用于处理动态网页内容:
- Ubuntu/Debian:
apt install php-fpm php-mysql php-gd php-xml php-mbstring -y # 根据需求安装扩展
- CentOS:
yum install php-fpm php-mysqlnd php-gd php-xml php-mbstring -y
启动PHP-FPM并设置自启:
systemctl start php-fpm systemctl enable php-fpm
配置Nginx虚拟主机
虚拟主机用于让多个网站在同一台服务器上运行,以下以配置域名example.com
为例:
-
创建网站目录:
mkdir -p /var/www/example.com
-
设置目录权限:
chown -R www-data:www-data /var/www/example.com # Ubuntu/Debian chown -R nginx:nginx /var/www/example.com # CentOS chmod -R 755 /var/www/example.com
-
创建测试页面:
nano /var/www/example.com/index.php
<?php phpinfo(); ?>
保存并退出(Ctrl+O → Enter → Ctrl+X)。
-
配置Nginx配置文件:
nano /etc/nginx/conf.d/example.com.conf
输入以下内容:
server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.php index.html; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 根据PHP版本调整路径 } }
-
重启Nginx生效:
nginx -t # 检查配置是否正确 systemctl restart nginx
部署网站程序
可通过以下方式部署网站:
- 手动上传文件:使用SCP、SFTP工具(如FileZilla)将网站源码上传至
/var/www/example.com
目录。 - Git克隆:若代码托管在Git仓库,可安装Git后克隆:
apt install git -y # Ubuntu/Debian git clone https://github.com/your-repo.git /var/www/example.com
- 一键部署脚本:使用宝塔面板、aaPanel等工具,通过图形化界面快速部署(适合新手)。
配置SSL证书(HTTPS)
为网站启用HTTPS可提升安全性,推荐使用Let’s Encrypt免费证书:
-
安装Certbot:
apt install certbot python3-certbot-nginx -y # Ubuntu/Debian yum install certbot python3-certbot-nginx -y # CentOS
-
申请证书:
certbot --nginx -d example.com -d www.example.com
按提示输入邮箱并同意条款,Certbot会自动配置Nginx并启用HTTPS。
-
自动续期:
Certbot会自动设置续期任务,可通过以下命令测试:certbot renew --dry-run
安全优化与维护
- 定期更新系统:执行
apt upgrade
或yum update
更新软件包。 - 安装安全工具:如Fail2ban(防暴力破解)、ClamAV(杀毒软件)。
- 备份数据:使用
rsync
或mysqldump
定期备份网站文件和数据库,可设置定时任务(cron)自动执行。 - 监控服务器状态:安装监控工具(如Netdata、Zabbix),实时查看CPU、内存、磁盘使用情况。
相关问答FAQs
问题1:搭建网站后访问域名显示404错误,如何解决?
解答:首先检查Nginx配置文件中的root
路径是否正确指向网站目录,确保index
文件存在(如index.php
);其次检查目录权限是否为755,文件所有者是否为Web服务器用户(如www-data
或nginx
);最后使用nginx -t
命令检查配置语法是否正确,若有错误根据提示修复并重启Nginx。
问题2:如何通过SSH密钥登录VPS,提升安全性?
解答:在本地终端生成SSH密钥对(命令:ssh-keygen -t rsa -b 4096
),公钥默认保存在~/.ssh/id_rsa.pub
,将公钥内容复制到VPS的~/.ssh/authorized_keys
文件中(若文件不存在需先创建),设置权限为600(chmod 600 ~/.ssh/authorized_keys
),然后在VPS上禁用密码登录(编辑/etc/ssh/sshd_config
,将PasswordAuthentication no
取消注释),重启SSH服务(systemctl restart sshd
),此后登录仅需私钥,无需密码,安全性大幅提升。