服务器测评网
我们一直在努力

linux 搭建服务器教程

Linux 搭建服务器是许多开发者和运维人员的必备技能,其稳定性、安全性和灵活性使其成为服务器部署的首选系统,本文将以主流的CentOS 7和Ubuntu 20.04 LTS为例,从准备工作到服务部署,详细讲解Linux服务器的搭建流程,帮助读者快速上手。

linux 搭建服务器教程

准备工作

在开始搭建服务器前,需明确需求并完成准备工作,首先是硬件选择:若为本地搭建,建议选择至少2核CPU、4GB内存、50GB存储的配置;若使用云服务器,阿里云、腾讯云等平台均可提供轻量应用服务器,默认预装Linux系统,其次是系统选择:CentOS 7适合企业级应用,稳定性高;Ubuntu 20.04 LTS拥有丰富的软件包和社区支持,适合开发环境,最后是网络环境:确保服务器能访问外网,并记录其公网IP(云服务器)或内网IP(本地服务器)。

系统安装与初始化

云服务器安装

云服务器通常提供镜像选择功能,登录管理后台后,选择“创建实例”,在系统镜像中选择CentOS 7或Ubuntu 20.04 LTS,配置CPU、内存和存储,完成创建后即可获得初始IP地址和root密码。

本地服务器安装

若使用物理机或虚拟机(如VMware、VirtualBox),需下载系统ISO镜像(CentOS 7镜像地址:https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/;Ubuntu 20.04镜像地址:https://ubuntu.com/download/server),通过U盘启动后,按照界面提示进行分区(建议/boot 500MB、swap 2倍内存、/剩余空间)、设置root密码和网络配置,完成安装后重启系统。

初始化配置

登录系统后,首先更新系统包:

  • CentOS执行:yum update -y
  • Ubuntu执行:apt update && apt upgrade -y
    接着创建普通用户(避免直接使用root),例如创建用户admin

    useradd admin && passwd admin  # 设置用户密码
    usermod -aG wheel admin        # CentOS下赋予sudo权限
    usermod -aG sudo admin         # Ubuntu下赋予sudo权限

    最后配置SSH远程登录,编辑/etc/ssh/sshd_config文件,将PermitRootLogin yes改为no(禁用root远程登录),重启SSH服务:systemctl restart sshd

基础环境配置

网络配置

确保服务器IP地址固定,避免重启后变更。

  • CentOS 7:编辑/etc/sysconfig/network-scripts/ifcfg-ens33(网卡名可能为ens33、eth0等),设置:

    TYPE=Ethernet
    BOOTPROTO=static
    IPADDR=192.168.1.100       # 静态IP
    NETMASK=255.255.255.0       # 子网掩码
    GATEWAY=192.168.1.1         # 网关
    DNS1=8.8.8.8               # DNS
    ONBOOT=yes

    保存后执行ifdown ens33 && ifup ens33重启网卡。

    linux 搭建服务器教程

  • Ubuntu 20.04:编辑/etc/netplan/01-netcfg.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]

    保存后执行netplan apply应用配置。

时区与时间同步

执行timedatectl set-timezone Asia/Shanghai设置时区,安装NTP服务同步时间:

  • CentOS:yum install ntp -y && systemctl start ntpd && systemctl enable ntpd
  • Ubuntu:apt install ntp -y && systemctl start ntp && systemctl enable ntp

核心服务部署

Web服务(Nginx)

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

  • CentOS:yum install nginx -y
  • Ubuntu:apt install nginx -y
    启动并设置开机自启:systemctl start nginx && systemctl enable nginx
    配置防火墙开放80端口:
  • CentOS:firewall-cmd --permanent --add-service=http && firewall-cmd --reload
  • Ubuntu:ufw allow 80/tcp
    访问服务器IP,若显示Nginx欢迎页面,则安装成功。

数据库服务(MySQL)

MySQL是常用的关系型数据库,用于存储业务数据。
安装MySQL:

  • CentOS 7:需先添加EPEL源,yum install mysql-server mysql -y
  • Ubuntu:apt install mysql-server mysql-client -y
    安全配置:执行mysql_secure_installation,根据提示设置root密码、移除匿名用户、禁止root远程登录等。
    启动MySQL并设置自启:systemctl start mysqld && systemctl enable mysqld(CentOS)或systemctl start mysql && systemctl enable mysql(Ubuntu)。

部署Web应用(以WordPress为例)

WordPress是一款流行的博客系统,需结合Nginx和MySQL使用。
下载并解压WordPress:

cd /tmp && wget https://wordpress.org/latest.tar.gz
tar -zxvf latest.tar.gz && mv wordpress /var/www/html/
chown -R nginx:nginx /var/www/html/wordpress  # CentOS
chown -R www-data:www-data /var/www/html/wordpress  # Ubuntu

在MySQL中创建数据库:mysql -u root -p,执行:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wordpress_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

配置Nginx虚拟主机,编辑/etc/nginx/conf.d/wordpress.conf

linux 搭建服务器教程

server {
    listen 80;
    server_name your_domain.com;  # 替换为域名或IP
    root /var/www/html/wordpress;
    index index.php index.html;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

重启Nginx:systemctl restart nginx,访问服务器IP,按照WordPress提示完成安装。

安全加固策略

定期更新系统

设置自动更新:

  • CentOS:安装yum-cronsystemctl enable yum-cron
  • Ubuntu:编辑/etc/apt/apt.conf.d/10periodic,设置APT::Periodic::Unattended-Upgrade "1";

防火墙与端口管理

仅开放必要端口(如80、443、22),关闭其他端口:

  • CentOS:firewall-cmd --permanent --remove-service=ssh(若需禁用SSH)
  • Ubuntu:ufw deny 22

安装Fail2ban防止暴力破解

Fail2ban可监控登录失败日志并自动封禁IP。
安装:

  • CentOS:yum install fail2ban -y
  • Ubuntu:apt install fail2ban -y
    配置/etc/fail2ban/jail.local

    [sshd]
    enabled = true
    port = 22
    filter = sshd
    logpath = /var/log/secure
    maxretry = 3
    bantime = 3600

    启动Fail2ban:systemctl start fail2ban && systemctl enable fail2ban

常见问题排查

  1. SSH连接失败:检查防火墙是否开放22端口,SSH配置文件/etc/ssh/sshd_config是否正确,sshd服务是否运行。
  2. Nginx无法访问:检查nginx服务状态、防火墙配置、网站目录权限及配置文件语法(nginx -t)。
  3. MySQL连接失败:确认MySQL服务运行、用户权限、密码是否正确,检查/var/log/mysqld.log(CentOS)或/var/log/mysql/error.log(Ubuntu)错误日志。

通过以上步骤,已完成Linux服务器的搭建、基础服务部署和安全加固,Linux服务器的维护是一个持续的过程,需定期更新系统、监控日志、备份数据(如使用rsynctar命令),随着业务需求增长,还可扩展负载均衡、SSL证书配置、容器化部署(如Docker、Kubernetes)等高级功能,为应用提供更稳定、高效的支持。

赞(0)
未经允许不得转载:好主机测评网 » linux 搭建服务器教程