linux 搭建服务器教程

linux 搭建服务器教程

Linux 搭建服务器教程涵盖了从环境准备到服务部署的全过程,以下是详细步骤:环境准备硬件选择:根据需求选择服务器配置,CPU 建议 4 核以上,内存 4GB 以上,硬盘至少 50GB(推荐 SSD),对于小型应用,云服务器(如阿里云、腾讯云)的入门实例即...

优惠价格:¥ 0.00
当前位置:首页 > 虚拟主机 > linux 搭建服务器教程
详情介绍

Linux 搭建服务器教程涵盖了从环境准备到服务部署的全过程,以下是详细步骤:

环境准备

  1. 硬件选择:根据需求选择服务器配置,CPU 建议 4 核以上,内存 4GB 以上,硬盘至少 50GB(推荐 SSD),对于小型应用,云服务器(如阿里云、腾讯云)的入门实例即可满足需求。
  2. 系统安装
    • 下载 CentOS 7/8 或 Ubuntu Server 20.04 LTS 镜像(推荐 LTS 版本以获得长期支持)。
    • 使用 Rufus 或 balenaEtcher 制作启动 U 盘,通过 BIOS 设置从 U 盘启动。
    • 按照安装向导完成分区(建议 /boot 500MB,swap 为内存的 12 倍,剩余空间分配给 /)、网络配置(静态 IP 更适合服务器)和用户创建。
  3. 初始配置
    # 更新系统
    sudo yum update y  # CentOS
    sudo apt update && sudo apt upgrade y  # Ubuntu
    # 安装必要工具
    sudo yum install y nettools wget vim  # CentOS
    sudo apt install y nettools wget vim  # Ubuntu

网络配置

  1. 静态 IP 设置
    • CentOS 7:编辑 /etc/sysconfig/networkscripts/ifcfgens33(网卡名可能不同),修改以下内容:
      BOOTPROTO=static
      IPADDR=192.168.1.100
      NETMASK=255.255.255.0
      GATEWAY=192.168.1.1
      DNS1=8.8.8.8
      DNS2=114.114.114.114
      ONBOOT=yes

      重启网络:sudo systemctl restart network

    • Ubuntu 20.04:编辑 /etc/netplan/01netcfg.yaml,添加:
      network:
        version: 2
        ethernets:
          ens33:
            dhcp4: no
            addresses: [192.168.1.100/24]
            gateway4: 192.168.1.1
            nameservers:
              addresses: [8.8.8.8, 114.114.114.114]

      应用配置:sudo netplan apply

  2. 防火墙配置
    # CentOS 7
    sudo firewallcmd permanent addservice=http
    sudo firewallcmd permanent addservice=https
    sudo firewallcmd reload
    # Ubuntu
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw enable

安装常用服务

Web 服务(Nginx)

# CentOS
sudo yum install y epelrelease
sudo yum install y nginx
sudo systemctl start nginx
sudo systemctl enable nginx
# Ubuntu
sudo apt install y nginx
sudo systemctl start nginx
sudo systemctl enable nginx

配置文件位于 /etc/nginx/nginx.conf,站点配置存放在 /etc/nginx/sitesavailable/,通过 ln s 创建软链接到 /etc/nginx/sitesenabled/ 启用站点。

数据库服务(MySQL)

# CentOS
sudo yum localinstall y https://dev.mysql.com/get/mysql80communityreleaseel77.noarch.rpm
sudo yum install y mysqlcommunityserver
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 查看临时密码
sudo grep 'temporary password' /var/log/mysqld.log
# Ubuntu
sudo apt install y mysqlserver
sudo systemctl start mysql
sudo systemctl enable mysql
# 安全配置
sudo mysql_secure_installation

编程环境(PHP)

# CentOS
sudo yum install y https://dl.fedoraproject.org/pub/epel/epelreleaselatest7.noarch.rpm
sudo yum install y http://rpms.remirepo.net/enterprise/remirelease7.rpm
sudo yum install y php phpfpm phpmysqlnd phpgd phpmbstring
sudo systemctl start phpfpm
sudo systemctl enable phpfpm
# Ubuntu
sudo apt install y php phpfpm phpmysql phpgd phpmbstring
sudo systemctl start php7.4fpm  # 版本号可能不同
sudo systemctl enable php7.4fpm

部署 Web 应用

以部署 WordPress 为例:

  1. 下载并解压 WordPress:
    cd /var/www/html
    sudo wget https://wordpress.org/latest.tar.gz
    sudo tar xzvf latest.tar.gz
    sudo chown R nginx:nginx wordpress/
  2. 配置 Nginx 虚拟主机,编辑 /etc/nginx/sitesavailable/wordpress
    server {
        listen 80;
        server_name your_domain.com;
        root /var/www/html/wordpress;
        index index.php;
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
        location ~ .php$ {
            fastcgi_pass unix:/var/run/phpfpm/phpfpm.sock;  # 或 127.0.0.1:9000
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    sudo ln s /etc/nginx/sitesavailable/wordpress /etc/nginx/sitesenabled/
    sudo nginx t && sudo systemctl reload nginx
  3. 在浏览器访问 http://your_domain.com,完成 WordPress 安装向导。

远程管理与监控

  1. SSH 优化:编辑 /etc/ssh/sshd_config,修改以下配置:
    Port 2222  # 修改默认端口
    PermitRootLogin no
    PasswordAuthentication no  # 禁用密码,使用密钥登录

    重启 SSH 服务:sudo systemctl restart sshd

  2. 监控工具:安装 htopnethogs
    sudo yum install y htop nethogs  # CentOS
    sudo apt install y htop nethogs  # Ubuntu

备份策略

  1. 文件备份:使用 rsync 定期备份网站文件:
    rsync avz /var/www/html/ user@backup_server:/backup/website
  2. 数据库备份:使用 mysqldump
    mysqldump u root p database_name > backup.sql

    可通过 cron 设置定时任务,例如每天凌晨 2 点执行备份:

    0 2 * * * /usr/bin/mysqldump u root p'password' database_name | gzip > /backup/mysql_$(date +%F).sql.gz

相关问答 FAQs

问题 1:如何解决 Linux 服务器内存不足的问题?
解答:可通过以下方式优化:

  1. 释放缓存:sudo sync && echo 1 > /proc/sys/vm/drop_caches(谨慎使用);
  2. 调整 swappiness 值(降低对 swap 的依赖):编辑 /etc/sysctl.conf,添加 vm.swappiness=10,执行 sudo sysctl p
  3. 优化应用程序,检查是否有内存泄漏;
  4. 增加swap分区或升级物理内存。

问题 2:如何确保 Linux 服务器的安全性?
解答:需采取多层防护措施:

  1. 及时更新系统:sudo yum update ysudo apt upgrade y
  2. 配置 fail2ban 防暴力破解:安装后编辑 /etc/fail2ban/jail.local,设置 SSH 和 HTTP 防护规则;
  3. 禁用不必要的服务:sudo systemctl disable service_name
  4. 使用 SELinux/AppArmor 增强强制访问控制;
  5. 定期审计日志:sudo cat /var/log/secure | grep "Failed password"
0