物理机部署网站步骤教程


在云计算和虚拟化技术盛行的时代,物理机部署网站仍然是许多企业和开发者的选择,尤其是在对性能、安全性和资源隔离有高要求的场景中。物理机部署能提供独占的硬件资源,避免虚拟化层的性能开销。以下是基于Linux系统的物理机部署网站详细步骤,涵盖环境准备、服务配置和安全管理。

环境准备与系统安装

  1. 硬件选择与系统安装

    • 根据网站预期流量选择适当的CPU、内存和存储配置。例如,小型网站可选择Intel Xeon E5系列处理器、16GB内存和1TB SSD硬盘。
    • 使用Ubuntu Server 22.04 LTS或CentOS 7等稳定Linux发行版,通过U盘或IPMI工具安装系统。安装时需配置分区(建议单独划分/var目录用于日志存储)并设置强密码的root账户。
  2. 网络与安全初始化

    • 通过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  

服务部署与配置

  1. 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
  2. 数据库与后端环境

    • 部署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  

部署与优化

  1. 应用文件与权限管理

    • 将网站代码上传至/var/www/html,使用chown -R www-data:www-data /var/www/html分配权限。
    • 若为动态网站,配置Gunicorn等WSGI服务器,并通过Systemd服务管理:创建/etc/systemd/system/myapp.service,定义启动命令与用户权限。
  2. 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压缩减少传输体积。

监控与维护

  • 配置日志轮转:编辑/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