Linux如何搭建服务器?
硬件准备
-
基础配置要求
- 处理器:Intel酷睿i3及以上(建议多核以支持并发任务)
- 内存:至少4GB(若运行数据库或大型应用,建议8GB以上)
- 存储:500GB机械硬盘或128GB固态硬盘(可根据数据量选择)
- 网络:千兆网卡(保障数据传输速度)
-
可选设备
- GPU(用于深度学习、图形处理等特殊场景)
- RAID阵列(提高数据冗余性)
操作系统选择与安装
-
主流Linux发行版对比
| 发行版 | 特点 | 适用场景 |
|————–|—————————————————-|—————————-|
| Ubuntu | 社区活跃,新手友好,包管理方便 | 个人开发、小型企业 |
| CentOS | 免费且稳定,长期支持版本(LTS) | 企业级部署 |
| RHEL | 高度稳定,企业级技术支持 | 生产环境(需付费订阅) |
| Debian | 保守更新策略,注重安全性 | 敏感业务(如金融、安防) | -
安装步骤
- 下载ISO:从官网获取对应发行版的镜像文件(如Ubuntu Server、CentOS)。
- 制作启动盘:使用Rufus或Etcher将ISO写入U盘。
- 引导安装:重启电脑进入BIOS/UEFI设置,调整启动顺序为U盘优先。
- 分区方案:
- /boot:256MB(存放启动文件)
- :剩余空间(根目录,推荐ext4格式)
- swap:内存大小的1-2倍(交换分区)
网络配置与远程访问
-
设置静态IP
- 修改
/etc/netplan/01-netcfg.yaml
(Ubuntu)或/etc/sysconfig/network-scripts/ifcfg-eth0
(CentOS):network: version: 2 renderer: networkd ethernets: eth0: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: 8.8.8.8 114.114.114.114
- 重启网络服务:
sudo systemctl restart network
- 修改
-
SSH远程登录优化
- 修改默认端口(如22→2022),编辑
/etc/ssh/sshd_config
:Port 2022 PermitRootLogin no # 禁用root登录 PasswordAuthentication no # 强制密钥认证
- 生成密钥对:
ssh-keygen
,将公钥写入~/.ssh/authorized_keys
。
- 修改默认端口(如22→2022),编辑
服务器软件安装与配置
-
Web服务器(Nginx/Apache)
- 安装Nginx:
sudo apt installnginx -y # Ubuntu sudo yum installnginx -y # CentOS
- 配置虚拟主机:修改
/etc/nginx/sites-available/default
,添加服务器块:server { listen 80; server_name example.com; root /var/www/html; index index.html; }
- 启用配置:
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
- 安装Nginx:
-
数据库服务器(MySQL/MariaDB)
- 安装MariaDB(Ubuntu示例):
sudo apt install mariadb-server -y
- 安全初始化:
sudo mysql_secure_installation
- 创建数据库:
CREATE DATABASE myapp; GRANT ALL PRIVILEGES ON myapp. TO 'user'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;
- 安装MariaDB(Ubuntu示例):
-
后端运行时环境(Python/Node.js)
- 安装Python环境:
sudo apt install python3-venv -y python3 -m venv myenv
- 安装Node.js:
curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash sudo apt install nodejs -y
- 安装Python环境:
安全加固与维护
-
防火墙配置
- UFW(Ubuntu):
sudo ufw allow 2022/tcp # SSH sudo ufw allow 80/tcp # HTTP sudo ufw enable
- firewalld(CentOS):
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload
- UFW(Ubuntu):
-
自动更新与监控
- 设置定时更新(Ubuntu示例):
sudo apt install unattended-upgrades -y sudo dpkg-reconfigure --priority=low unattended-upgrades
- 安装监控工具:
sudo apt install htop netdata -y # 实时资源监控
- 设置定时更新(Ubuntu示例):
-
数据备份策略
- MySQL数据库备份:
mysqldump -u user -p myapp > /backup/myapp.sql
- 网站文件备份:
sudo tar -czvf /backup/website.tar.gz /var/www/html
- MySQL数据库备份:
常见问题解决
-
如何更换国内镜像源加速更新?
- 修改
/etc/apt/sources.list
(Ubuntu):sudo sed -i 's|us.archive.ubuntu.com|mirrors.aliyun.com|g' /etc/apt/sources.list sudo apt update
- CentOS替换为阿里云镜像:
sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://mirror.centos.org|baseurl=http://mirrors.aliyun.com|g' /etc/yum.repos.d/CentOS-Base.repo sudo yum clean all
- 修改
-
如何配置多个Nginx虚拟主机?
- 在
/etc/nginx/sites-available/
目录下创建新配置文件(如example2.com
类似:server { listen 80; server_name example2.com; root /var/www/example2; index index.html; }
- 建立符号链接:
sudo ln -s sites-available/example2.com sites-enabled/
- 重启Nginx:
sudo systemctl restart nginx
- 在
通过以上步骤,您可以构建一台功能完整且安全的Linux服务器,根据实际需求,还可进一步扩展至容器化(Docker)、负载均衡(HAProxy
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/68034.html