云主机与独享主机设置实战指南
一、 环境准备与基础配置
1、选择与部署
云主机 在云服务商控制台选择所需配置(CPU、内存、带宽、磁盘类型/大小),选择操作系统镜像(如 CentOS, Ubuntu, Debian, Windows Server),一键部署后获取IP、用户名及初始密码/密钥。
独享主机(物理服务器) 服务商完成硬件上架、网络接入后,提供IPMI/KVM远程管理权限、服务器IP、初始系统登录凭证,自行通过IPMI安装操作系统或选择服务商代装。
2、系统安全加固
立即修改默认密码 首次登录后强制修改复杂密码(大小写字母+数字+符号,12位以上)。
创建专用用户 避免长期使用root
,创建具有sudo
权限的普通用户(如sudo adduser deploy && usermod -aG sudo deploy
)。
禁用密码登录,启用密钥认证
本地生成密钥对ssh-keygen -t rsa -b 4096
。
上传公钥到服务器ssh-copy-id -i ~/.ssh/id_rsa.pub deploy@your_server_ip
。
编辑/etc/ssh/sshd_config
PasswordAuthentication no PermitRootLogin no
重启SSHsudo systemctl restart sshd
。
配置基础防火墙
云主机 利用云平台安全组,严格控制入站规则(通常仅开放80, 443, 22端口)。
独享主机/通用 安装并配置ufw
(Ubuntu/Debian) 或firewalld
(CentOS):
sudo ufw allow ssh sudo ufw allow http sudo ufw allow https sudo ufw enable
二、 核心服务安装与配置
1、Web服务器 (以Nginx为例)
安装sudo apt install nginx
(Ubuntu/Debian) /sudo yum install nginx
(CentOS)。
* 关键配置 (/etc/nginx/nginx.conf
或/etc/nginx/sites-available/your_site
):
user www-data;
或专用用户。
worker_processes auto;
(匹配CPU核心数)。
* 在server
块中配置域名、根目录、PHP-FPM处理、日志路径、Gzip压缩、SSL证书。
启动并设置开机自启sudo systemctl enable --now nginx
。
云主机提示 确保安全组已放行80/443端口。
2、数据库服务器 (以MySQL/MariaDB为例)
安装sudo apt install mysql-server
/sudo yum install mariadb-server
。
运行安全脚本sudo mysql_secure_installation
(设置root密码、移除匿名用户、禁止远程root登录、删除测试数据库、刷新权限)。
创建专用数据库和用户
CREATE DATABASE your_db; CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON your_db.* TO 'your_user'@'localhost'; FLUSH PRIVILEGES;
重要安全配置 (/etc/mysql/mariadb.conf.d/50-server.cnf
):
bind-address = 127.0.0.1
(限制仅本地访问,应用与DB同机时)。
启动并自启sudo systemctl enable --now mysql
或mariadb
。
3、PHP处理器 (PHP-FPM)
安装所需版本sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
(按需增减模块)。
* 配置Pool (/etc/php/7.x/fpm/pool.d/www.conf
- 替换版本号):
user = www-data
,group = www-data
pm = dynamic
(推荐)
pm.max_children = 50
(根据内存调整,每个进程~30-50MB估算)
pm.start_servers = 5
,pm.min_spare_servers = 5
,pm.max_spare_servers = 10
pm.max_requests = 500
(预防内存泄漏)
配置Nginx连接PHP-FPM在Nginx的server
块中添加:
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.x-fpm.sock; # 确认sock路径 }
启动并自启sudo systemctl enable --now php7.x-fpm
。
三、 性能与安全深度优化
1、性能调优
Nginx:
* 开启Gzip压缩 (gzip on; ...
)。
* 调整worker_connections
。
* 启用缓存 (静态资源、代理缓存)。
keepalive_timeout
适中。
PHP-FPM:
* 优化pm
参数 (如max_children
)。
* 使用OPcache (安装php-opcache
并启用)。
MySQL/MariaDB:
* 调整innodb_buffer_pool_size
(通常设为可用内存的50-70%)。
* 配置查询缓存 (注意评估)。
* 优化慢查询日志。
文件系统 对数据库目录考虑使用XFS
或ext4
(带noatime
选项)。独享主机优势: 可使用高性能NVMe SSD或配置RAID10。
2、安全加固进阶
定期更新sudo apt update && sudo apt upgrade
/sudo yum update
。
文件权限
* Web根目录用户/组设为www-data
(或专用用户)。
* 目录权限通常755
,文件权限644
。
* 关键配置文件权限600
或640
。
SSL/TLS
* 强制HTTPS (Nginx配置301重定向)。
* 使用Let's Encrypt免费证书 (certbot
工具)。
* 配置强加密套件、启用HSTS。
Web应用防火墙 (WAF) 考虑安装ModSecurity
(Nginx/Apache)。
入侵检测/文件监控 使用fail2ban
防暴力破解,rkhunter
/chkrootkit
查后门,aide
监控文件变化。
备份策略
自动化 脚本备份网站文件、数据库 (mysqldump
) 到异地存储(另一台服务器、云存储OSS/COS/S3)。
频率 根据数据重要性选择(日备、周备)。
验证 定期测试备份恢复。
四、 监控与日常维护
1、资源监控:
基础命令top
/htop
,free -h
,df -h
,netstat
,iftop
。
云主机 善用云平台提供的监控图表(CPU、内存、磁盘IO、带宽)。
独享主机/通用 部署Prometheus
+Grafana
或Zabbix
实现可视化监控与告警。
2、日志分析:
关键日志/var/log/nginx/access.log
,/var/log/nginx/error.log
,/var/log/mysql/error.log
,/var/log/syslog
,/var/log/auth.log
。
工具tail -f
,grep
,awk
,goaccess
(Nginx访问日志分析),或集中式日志方案(ELK Stack, Loki)。
3、定期任务:
* 审查系统及服务日志。
* 检查安全更新并应用。
* 验证备份的有效性。
* 扫描恶意软件。
个人观点
云主机以其弹性伸缩、按需付费和管理便捷性,成为绝大多数网站和应用的首选,尤其适合流量波动或快速发展的项目,独享主机(物理服务器)则在高性能、极致稳定、资源完全隔离以及满足特定合规要求方面具备不可替代的优势,是大型电商、数据库核心、高计算负载场景的基石,选择哪种类型,核心在于精准评估自身业务的实际需求、技术管理能力和预算,无论选择哪种,细致的基础安全加固、严谨的权限管理、有效的备份机制和持续的监控维护,都是保障服务器长期稳定、安全运行的铁律,忽视这些,再强大的硬件或云平台也难以避免隐患。
文章摘自:https://idc.huochengrm.cn/zj/9736.html
评论
商桂芝
回复首先选择适合需求的云服务提供商和套餐,创建虚拟私有服务器,在安全组策略中配置网络访问权限并安装操作系统和应用软件;接着进行磁盘管理、内存分配等硬件资源调整优化操作即可实现独立使用效果保障数据安全稳定高效运行!