物理机部署网站步骤教程
在云计算和虚拟化技术盛行的时代,物理机部署网站仍然是许多企业和开发者的选择,尤其是在对性能、安全性和资源隔离有高要求的场景中。物理机部署能提供独占的硬件资源,避免虚拟化层的性能开销。以下是基于Linux系统的物理机部署网站详细步骤,涵盖环境准备、服务配置和安全管理。
环境准备与系统安装
-
硬件选择与系统安装
- 根据网站预期流量选择适当的CPU、内存和存储配置。例如,小型网站可选择Intel Xeon E5系列处理器、16GB内存和1TB SSD硬盘。
- 使用Ubuntu Server 22.04 LTS或CentOS 7等稳定Linux发行版,通过U盘或IPMI工具安装系统。安装时需配置分区(建议单独划分
/var目录用于日志存储)并设置强密码的root账户。
-
网络与安全初始化
- 通过
ip addr命令查看网卡信息,编辑/etc/netplan/01-netcfg.yaml文件配置静态IP(以Ubuntu为例):network: version: 2 ethernets: eth0: addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] - 运行
netplan apply激活配置,使用ufw enable开启防火墙,放行SSH(22端口)和HTTP/HTTPS(80/443端口):ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp
- 通过
服务部署与配置
-
Web服务器搭建
- 安装Nginx并启动服务:
apt update && apt install nginx -y # Ubuntu/Debian systemctl start nginx && systemctl enable nginx - 在
/etc/nginx/sites-available/创建配置文件(如mysite),定义服务器块:server { listen 80; root /var/www/html; index index.html; server_name example.com; location / { try_files $uri $uri/ =404; } } - 通过符号链接启用配置:
ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/,测试语法后重载服务:nginx -t && systemctl reload nginx。
- 安装Nginx并启动服务:
-
数据库与后端环境
- 部署MySQL数据库并加固安全:
apt install mysql-server -y mysql_secure_installation # 按提示移除测试数据库并设置root密码 - 若网站使用Python后端,可通过Miniconda配置环境:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b ~/miniconda3/bin/conda create -n myapp python=3.9 -y
- 部署MySQL数据库并加固安全:
部署与优化
-
应用文件与权限管理
- 将网站代码上传至
/var/www/html,使用chown -R www-data:www-data /var/www/html分配权限。 - 若为动态网站,配置Gunicorn等WSGI服务器,并通过Systemd服务管理:创建
/etc/systemd/system/myapp.service,定义启动命令与用户权限。
- 将网站代码上传至
-
SSL证书与性能调优
- 使用Certbot申请免费SSL证书,实现HTTPS加密:
apt install certbot python3-certbot-nginx -y certbot --nginx -d example.com - 在
/etc/nginx/nginx.conf中调整工作进程数(worker_processes auto;)和连接限制(worker_connections 1024;),启用Gzip压缩减少传输体积。
- 使用Certbot申请免费SSL证书,实现HTTPS加密:
监控与维护
- 配置日志轮转:编辑
/etc/logrotate.d/nginx,设置每日压缩旧日志。 - 使用
crontab -e添加定期任务,例如每日备份数据库:0 2 * * * mysqldump -u root -p[password] mydb > /backup/mydb_$(date +%F).sql
通过以上步骤,物理机上的网站即可稳定运行。后续需定期更新系统补丁(apt upgrade)、监控资源使用情况(如通过htop),并根据业务需求扩展硬件或优化服务配置。物理机部署虽需手动操作,但能带来更高的可控性和性能表现。
Linux云服务器Web部署系统配置
阅读量:1