🗣 Wd提问: VPS主机搭建环境配置
🤖 Ai回答: 这是一份非常全面和详细的VPS主机环境配置指南,从零开始,涵盖了从基础安全设置到高级服务部署的全流程。
核心理念:安全第一,效率至上
在开始任何配置之前,请牢记这个原则。一个暴露在公网上的裸机VPS是非常危险的。
第一部分:基础系统设置与安全加固
当你拿到一个新的VPS(通常使用CentOS 7/8, Ubuntu 18.04/20.04/22.04, Debian 10/11等系统),第一步不是安装网站环境,而是进行安全加固。
1、登录与更新系统
使用SSH密钥登录(远比密码安全),如果没有配置密钥,先用密码登录。
bash
ssh root@your_server_ip
更新系统软件包:
bash
对于 Ubuntu/Debian
apt update && apt upgrade -y
对于 CentOS/RHEL
yum update -y
或者使用 dnf (CentOS 8+)
dnf update -y
更新后建议重启:`reboot`
2、创建新用户并授予sudo权限
避免长期使用`root`用户操作。
bash
添加新用户(例如用户名为 vpsuser)
adduser vpsuser
为用户设置密码
passwd vpsuser
将用户添加到 sudo 组
Ubuntu/Debian
usermod -aG sudo vpsuser
CentOS
usermod -aG wheel vpsuser
3、配置SSH密钥登录并禁用密码登录(关键步骤)
在本地机器上生成SSH密钥对(如果你还没有):
bash
ssh-keygen -t rsa -b 4096 -C your_email@65.hk
这会在`~/.ssh/`目录下生成`id_rsa`(私钥)和`id_rsa.pub`(公钥)。
将公钥上传到VPS:
bash
在本地机器执行,将公钥复制到VPS
ssh-copy-id vpsuser@your_server_ip
现在,你可以使用 `ssh vpsuser@your_server_ip` 无需密码登录。
配置SSH守护进程,禁用密码登录:
编辑SSH配置文件:
bash
sudo nano /etc/ssh/sshd_config
修改或确保以下行:
Port 2222 更改默认端口(22 - 2222或其他),减少自动化攻击
PermitRootLogin no 禁止root直接登录
PasswordAuthentication no 禁用密码认证
PubkeyAuthentication yes 启用密钥认证
重要: 在重启SSH服务之前,请确保你已经用新端口和密钥成功测试登录了另一个会话,否则你可能被锁在服务器外!
bash
重启SSH服务
sudo systemctl restart sshd
或 (CentOS 7/Ubuntu 16.04+)
sudo systemctl restart ssh
4、配置防火墙 (UFW / firewalld)
Ubuntu/Debian (使用UFW):
bash
sudo ufw allow 2222/tcp 允许你自定义的SSH端口
sudo ufw allow 80/tcp HTTP
sudo ufw allow 443/tcp HTTPS
sudo ufw enable 启用防火墙
CentOS (使用firewalld):
bash
sudo firewall-cmd permanent add-port=2222/tcp
sudo firewall-cmd permanent add-service=http
sudo firewall-cmd permanent add-service=https
sudo firewall-cmd reload
5、安装Fail2ban
Fail2ban可以防止暴力破解攻击。
bash
Ubuntu/Debian
sudo apt install fail2ban -y
CentOS
sudo yum install epel-release -y
sudo yum install fail2ban -y
基本配置通常开箱即用,它会监控SSH等服务的日志,并对多次失败尝试的IP进行封禁。
第二部分:选择并安装Web服务环境
有三种主流方式,根据你的需求和技术水平选择。
方式一:使用LNMP/LAMP一键安装脚本(最简单)
这是最快的方式,适合新手和快速部署。
LNMP (Nginx + MySQL/MariaDB + PHP):
访问 [LNMP.org](https://lnmp.org/) 获取最新安装命令。
bash
wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -O lnmp1.9.tar.gz
tar zxf lnmp1.9.tar.gz
cd lnmp1.9
./install.sh lnmp
脚本会引导你选择MySQL/MariaDB、PHP等版本。
其他优秀脚本:
* 宝塔面板 (BT.cn): 图形化界面,功能强大,国内用户使用广泛。
bash
CentOS
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Ubuntu/Debian
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
* OneInStack: 灵活性高,支持多种组合(LNMP, LAMP, LNMPA, LTMP等)。
方式二:手动编译安装(最灵活,性能可调)
适合对性能有极致要求、需要特定模块版本的高级用户。过程复杂,需要解决依赖关系。这里不展开,一般步骤为:
1、 安装编译器(gcc, gcc-c++)和库依赖。
2、 下载Nginx/Apache, MySQL, PHP源码。
3、 编译、配置、启动。
方式三:使用包管理器手动安装(平衡了控制力和易用性)
我们以 Ubuntu 20.04 LTS 为例,安装 LEMP 环境 (Nginx, MySQL, PHP)。
1、安装Nginx
bash
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
此时在浏览器输入你的VPS IP,应该能看到Nginx欢迎页面。
2、安装MySQL
bash
sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql
运行安全安装脚本:
bash
sudo mysql_secure_installation
它会引导你设置root密码、移除匿名用户、禁止root远程登录等。
3、安装PHP
bash
sudo apt install php-fpm php-mysql -y
`php-fpm`是Nginx与PHP通信的桥梁,`php-mysql`让PHP能连接MySQL。
4、配置Nginx以使用PHP
创建一个服务器块(相当于虚拟主机):
bash
sudo nano /etc/nginx/sites-available/your_domain
写入以下内容(将 `your_domain` 和 `root` 路径替换成你的):
nginx
server {
listen 80;
server_name your_domain.com www.your_domain.com;
root /var/www/your_domain;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; PHP版本号可能不同
}
location ~ /\.ht {
deny all;
}
}
启用该配置:
bash
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
测试Nginx配置是否正确:
bash
sudo nginx -t
如果成功,重启Nginx:
bash
sudo systemctl reload nginx
5、测试PHP
创建测试文件:
bash
sudo mkdir /var/www/your_domain
sudo nano /var/www/your_domain/info.php
写入:
php
<?php
phpinfo();
在浏览器访问 `http://your_server_ip/info.php`,你应该能看到PHP信息页。测试完成后务必删除此文件,因为它会暴露敏感信息。
第三部分:高级配置与优化
1、部署SSL证书 (HTTPS)
使用 Let‘s Encrypt 的 Certbot 获取免费SSL证书。
bash
安装Certbot
sudo apt install certbot python3-certbot-nginx -y
为你的域名获取并自动配置证书
sudo certbot nginx -d your_domain.com -d www.your_domain.com
Certbot会自动修改你的Nginx配置,并设置自动续期。
2、数据库管理 (phpMyAdmin)
安装:
bash
sudo apt install phpmyadmin -y
在安装过程中,选择 `nginx`(如果没有选项,直接回车),并配置数据库。
创建符号链接到网站根目录:
bash
sudo ln -s /usr/share/phpmyadmin /var/www/your_domain/phpmyadmin
现在你可以通过 `https://your_domain.com/phpmyadmin` 访问。强烈建议通过额外的安全
📣 商家广告:





0
IP地址: 232.37.1.147
搜索次数: 0
提问时间: 2025-11-11 22:31:51
🛒 域名购买:
yz.biz
sbnjt.com
zhong.tw
wd.chat
wk.gs
728.net.cn
53.cx
w-p.cn
lv.gs
757.net.cn
❓️ 热门提问:
excel服务器培训
域名查下
如何查域名信息
php水印
.ca域名注册
站群系统建设服务公司市场调研
nj.us域名
vps面板推荐
短视频剪辑源码开发
20u机柜
豌豆Ai站群搜索引擎系统
🌐 域名评估:
evtoltower.org.cn
qhag.cn
kdkg.cn
vivo.sd.cn
dji.bj.cn
59.gold
cwks.cn
gaix.cn
ll.ln.cn
d.sh.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
域名购买平台
北京网站排名
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。