# Linux下如何搭建VPS
## 前言
虛擬專用服務器(VPS)已成為個人開發者和小型企業的熱門選擇,它提供了比共享主機更高的控制權,同時比獨立服務器更經濟實惠。本文將詳細介紹在Linux環境下從零開始搭建VPS的全過程,涵蓋系統選擇、環境配置、安全加固等關鍵步驟。
## 一、準備工作
### 1.1 選擇VPS提供商
推薦主流服務商:
- DigitalOcean(開發者友好)
- Linode(高性價比)
- Vultr(按小時計費)
- AWS Lightsail(亞馬遜生態)
### 1.2 基礎配置建議
- CPU:至少1核
- 內存:1GB起步(運行GUI需2GB+)
- 存儲:25GB SSD起
- 帶寬:1TB/月以上流量
### 1.3 系統選擇
推薦發行版:
- Ubuntu LTS(長期支持版)
- Debian(穩定性優先)
- CentOS Stream(原RHEL替代)
```bash
# 查看系統信息
lsb_release -a
uname -a
ssh root@your_server_ip
adduser username
usermod -aG sudo username
本地機器生成密鑰:
ssh-keygen -t ed25519
上傳公鑰到服務器:
ssh-copy-id username@server_ip
編輯/etc/ssh/sshd_config
:
PasswordAuthentication no
ChallengeResponseAuthentication no
重啟服務:
sudo systemctl restart sshd
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo dnf update -y # CentOS/RHEL
sudo timedatectl set-timezone Asia/Shanghai
sudo apt install ntp -y # 時間同步服務
UFW(Ubuntu):
sudo ufw allow OpenSSH
sudo ufw enable
Firewalld(CentOS):
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Apache方案:
sudo apt install apache2 mysql-server php libapache2-mod-php -y
sudo apt install nginx mariadb-server php-fpm php-mysql -y
sudo mysql_secure_installation
編輯/etc/php/8.1/fpm/php.ini
(版本號需調整):
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
Nginx示例(/etc/nginx/sites-available/example.com):
server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.php index.html;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}
Certbot自動安裝:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com -d www.example.com
sudo certbot renew --dry-run
sudo apt install fail2ban -y
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
安裝DE:
sudo apt install aide -y
sudo aideinit
配置無人值守更新:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
sudo apt install htop nmon sysstat -y
# 查看最近登錄
last
# 檢查失敗登錄
sudo grep "Failed password" /var/log/auth.log
調整內核參數(/etc/sysctl.conf):
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_fin_timeout = 30
檢查方向: 1. 防火墻規則 2. SSH服務狀態 3. 網絡連通性
排查步驟:
sudo systemctl status nginx
sudo tail -n 50 /var/log/nginx/error.log
netstat -tulnp | grep 80
清理方法:
# 查找大文件
sudo find / -type f -size +100M
# 清理舊內核
sudo apt autoremove --purge
通過以上步驟,您已經成功搭建了一個功能完備的Linux VPS。建議定期進行: - 系統更新 - 安全審計 - 數據備份
進階方向建議: - Docker容器化部署 - Kubernetes集群管理 - CI/CD流水線搭建
注意:本文基于Ubuntu 22.04 LTS編寫,其他發行版可能需要調整部分命令。生產環境部署前請務必進行充分測試。 “`
這篇文章共計約1600字,采用Markdown格式編寫,包含: 1. 8個主要章節 2. 30+個實用命令片段 3. 配置示例和注意事項 4. 安全建議和優化方案
可根據實際需要調整具體技術棧(如將Nginx替換為Apache)或增加特定應用的部署教程。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。