凌峰创科服务平台

Linux如何快速搭建服务器?

Linux凭借其稳定性、安全性和灵活性,成为搭建服务器的首选系统之一,本文将以Ubuntu Server 22.04 LTS为例,详细介绍从零开始搭建服务器的完整流程,包括系统安装、基础配置、服务部署及安全加固等关键步骤。

Linux如何快速搭建服务器?-图1
(图片来源网络,侵删)

准备工作与环境要求

在开始搭建前,需确保满足以下条件:

  1. 硬件要求:至少1核CPU、1GB内存、20GB硬盘空间(推荐2核2GB以上以获得更好性能);
  2. 网络环境:服务器需连接互联网,并获取静态IP地址(或通过路由器设置DHCP保留IP);
  3. 访问工具:一台可连接服务器的电脑,推荐使用PuTTY(Windows)或SSH客户端(Linux/macOS);
  4. 系统镜像:从Ubuntu官网下载Ubuntu Server 22.04 LTS ISO镜像(https://ubuntu.com/download/server)。

系统安装步骤

  1. 启动安装程序
    将Ubuntu Server镜像写入U盘(通过Rufus或balenaEtcher),服务器设置为U盘启动,进入安装界面选择“Install Ubuntu Server”。

  2. 语言与键盘布局
    选择安装语言(建议“English”以避免后续配置问题),键盘布局默认“English (US)”即可。

  3. 网络配置
    选择“Configure network manually”,输入静态IP地址(如192.168.1.100)、子网掩码(255.255.255.0)、网关(如192.168.1.1)和DNS服务器(如8.8.8.8),完成后点击“Done”。

  4. 磁盘分区
    选择“Guided - use entire disk”自动分区(适合新手),或手动分区:

    • /boot:512MB(启动分区,ext4格式);
    • 剩余空间的70(根分区,ext4格式);
    • swap:内存的1-2倍(交换分区,如内存为2GB则swap设为4GB);
    • /home:剩余空间(用户数据分区,ext4格式)。
  5. 用户与安全设置

    • 创建普通用户(如admin),并设置强密码;
    • 勾选“Require my password to log in”启用密码登录;
    • 禁用SSH密码登录(后续步骤配置密钥登录更安全)。
  6. 安装完成
    等待安装完成后,重启服务器,拔出U盘,使用SSH登录(命令:ssh admin@192.168.1.100)。

基础系统配置

  1. 更新系统
    执行以下命令更新软件包列表和已安装软件:

    sudo apt update && sudo apt upgrade -y
  2. 配置主机名
    修改服务器主机名(如webserver):

    sudo hostnamectl set-hostname webserver
  3. 设置时区
    选择时区为Asia/Shanghai:

    sudo timedatectl set-timezone Asia/Shanghai
  4. 安装常用工具

    sudo apt install -y net-tools curl wget vim unzip
    • net-tools:提供ifconfignetstat等网络命令;
    • curl/wget:下载文件工具;
    • vim:文本编辑器;
    • unzip:解压工具。

部署常用服务

部署Web服务(Nginx + PHP)

Nginx是一款高性能Web服务器,支持反向代理和负载均衡。

  • 安装Nginx

    sudo apt install -y nginx

    启动并设置开机自启:

    sudo systemctl start nginx
    sudo systemctl enable nginx

    访问http://服务器IP,显示“Welcome to nginx”即安装成功。

  • 安装PHP(以PHP 8.1为例):

    sudo apt install -y php8.1-fpm php8.1-mysql php8.1-gd php8.1-xml

    测试PHP:创建/var/www/html/info.php文件,写入<?php phpinfo(); ?>,访问http://服务器IP/info.php查看PHP信息。

  • 配置Nginx虚拟主机
    编辑/etc/nginx/sites-available/default,修改root目录为/var/www/html,并添加PHP支持:

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }

    重启Nginx:sudo systemctl restart nginx

部署数据库服务(MySQL)

MySQL是常用的关系型数据库,用于存储网站数据。

  • 安装MySQL
    sudo apt install -y mysql-server
  • 安全配置
    执行sudo mysql_secure_installation,根据提示设置root密码、移除匿名用户、禁止root远程登录等(推荐选择“Y”)。
  • 创建数据库和用户
    sudo mysql -u root -p
    CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
    GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;

部署FTP服务(vsftpd)

vsftpd是轻量级FTP服务器,用于文件传输。

  • 安装vsftpd
    sudo apt install -y vsftpd
  • 配置匿名用户
    编辑/etc/vsftpd.conf,修改以下参数:
    anonymous_enable=NO          # 禁止匿名登录
    local_enable=YES             # 允许本地用户登录
    write_enable=YES             # 允许写入
    chroot_local_user=YES        # 限制用户仅能访问家目录
  • 创建FTP用户
    sudo useradd -m ftpuser      # 创建用户
    sudo passwd ftpuser          # 设置密码
  • 重启服务
    sudo systemctl restart vsftpd
    sudo systemctl enable vsftpd

安全加固措施

  1. 配置防火墙
    安装UFW(Uncomplicated Firewall),仅开放必要端口(如SSH 22、HTTP 80、HTTPS 443):

    sudo apt install -y ufw
    sudo ufw allow 22/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw enable              # 启用防火墙(输入Y确认)
  2. 禁用root SSH登录
    编辑/etc/ssh/sshd_config,修改以下参数:

    PermitRootLogin no           # 禁止root登录
    PasswordAuthentication no    # 禁用密码登录(需提前配置SSH密钥)

    重启SSH服务:sudo systemctl restart sshd

  3. 定期更新系统
    设置自动更新:

    sudo apt install -y unattended-upgrades
    sudo dpkg-reconfigure unattended-upgrades  # 选择“自动安装安全更新”

常见问题排查

  1. 无法访问Web服务

    • 检查防火墙是否开放80端口:sudo ufw status
    • 检查Nginx服务状态:sudo systemctl status nginx
    • 检查网站目录权限:sudo chown -R www-data:www-data /var/www/html
  2. FTP无法连接

    • 检查vsftpd服务状态:sudo systemctl status vsftpd
    • 检查用户家目录权限:sudo chmod 755 /home/ftpuser
    • 检查SELinux(若启用):sudo setsebool -P ftpd_full_access on

相关问答FAQs

Q1:如何将本地文件上传到服务器?
A:可通过三种方式上传:

  1. SCP命令(适用于Linux/macOS):scp /path/to/local_file user@server_ip:/path/to/remote_dir
  2. WinSCP工具(Windows图形化工具,输入服务器IP和用户名密码即可拖拽上传);
  3. FTP客户端(如FileZilla,输入服务器IP、FTP用户名和密码连接后上传)。

Q2:如何设置服务器自动备份?
A:使用rsync工具设置定时备份,例如每天备份/var/www目录到/backup

  1. 安装rsync:sudo apt install -y rsync
  2. 创建备份脚本/backup/backup.sh
    #!/bin/bash
    rsync -avz /var/www/ /backup/www_backup/$(date +%Y%m%d)/
  3. 添加定时任务(crontab):crontab -e,添加以下行实现每天凌晨2点备份:
    0 2 * * * /bin/bash /backup/backup.sh
  4. 赋予脚本执行权限:sudo chmod +x /backup/backup.sh

通过以上步骤,即可完成Linux服务器的基础搭建与配置,后续可根据需求部署更多服务(如Docker、Kubernetes等),并定期维护系统安全。

分享:
扫描分享到社交APP
上一篇
下一篇