如何正确搭建Ubuntu服务器?步骤与注意事项

Ubuntu服务器搭建是企业级应用和个人开发中常见的任务,其开源、稳定和丰富的社区支持使其成为众多场景的首选,本文将从准备工作到服务部署,详细讲解Ubuntu服务器的完整搭建流程,帮助读者快速上手。

ubuntu服务器搭建

准备工作

在开始搭建前,需明确服务器用途(如Web服务、数据库、应用部署等)并准备相应资源,硬件方面,建议至少2核CPU、4GB内存、20GB存储(根据实际需求调整);网络需确保公网IP(如为云服务器)或局域网可达,软件方面,推荐使用Ubuntu Server LTS版本(如22.04),其长期支持周期更适合稳定运行。

系统安装

  • 下载Ubuntu Server镜像(官网或阿里云镜像站),通过刻录U盘或云平台控制台启动安装。
  • 安装过程中选择“Minimal”安装(减少不必要组件),分区建议使用LVM(逻辑卷管理),便于后续扩容。
  • 设置时区、键盘布局,创建初始用户(避免直接使用root)。

网络配置

服务器网络通常需静态IP,避免DHCP导致的地址变动,以Ubuntu 22.04为例,编辑/etc/netplan/01-netcfg.yaml(文件名可能因网卡不同而异):

network:
  version: 2
  ethernets:
    ens33:  # 网卡名称,通过ip a查看
      dhcp4: no
      addresses: [192.168.1.100/24]  # 静态IP及子网掩码
      gateway4: 192.168.1.1         # 网关
      nameservers:
          addresses: [8.8.8.8, 114.114.114.114]  # DNS

保存后执行netplan apply使配置生效,通过ip a验证IP是否生效。

配置项 说明 示例值
dhcp4 是否启用DHCP no
addresses 静态IP及子网掩码 168.1.100/24
gateway4 网关地址 168.1.1
nameservers DNS服务器 8.8.8, 114.114.114.114

服务器初始化设置

更新系统

sudo apt update && sudo apt upgrade -y  # 更新软件包列表并升级系统

配置主机名

sudo hostnamectl set-hostname server01  # 设置主机名,便于管理

创建管理员用户

sudo adduser admin  # 创建新用户(示例用户名:admin)
sudo usermod -aG sudo admin  # 将用户加入sudo组,赋予root权限

SSH安全配置

默认SSH配置允许root远程登录,存在安全风险,需优化:
编辑/etc/ssh/sshd_config

PermitRootLogin no      # 禁止root远程登录
PasswordAuthentication no  # 禁止密码认证,仅允许密钥认证
Port 2222               # 修改默认SSH端口(避免22端口扫描)

保存后重启SSH服务:sudo systemctl restart sshd
生成SSH密钥对(本地执行):ssh-keygen -t rsa -b 4096,将公钥(~/.ssh/id_rsa.pub)上传至服务器:ssh-copy-id -p 2222 admin@服务器IP

安装常用服务

根据需求安装Web服务器、数据库等服务,以下以Nginx+MySQL+PHP(LNMP环境)为例。

ubuntu服务器搭建

安装Nginx

sudo apt install nginx -y  # 安装Nginx
sudo systemctl start nginx  # 启动服务
sudo systemctl enable nginx  # 设置开机自启

浏览器访问服务器IP,若显示“Welcome to nginx!”,则安装成功,默认网站目录:/var/www/html

安装MySQL

sudo apt install mysql-server -y  # 安装MySQL
sudo mysql_secure_installation  # 安全配置(设置root密码、匿名用户、测试数据库等)

配置完成后,登录MySQL:sudo mysql -u root -p,创建数据库和用户:

CREATE DATABASE webdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'Password123!';
GRANT ALL PRIVILEGES ON webdb.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

安装PHP及扩展

sudo apt install php-fpm php-mysql php-mbstring php-xml php-zip -y  # 安装PHP及常用扩展
sudo systemctl start php8.1-fpm  # 启动PHP-FPM(版本号可能为8.0/8.2,根据实际安装调整)
sudo systemctl enable php8.1-fpm

配置Nginx支持PHP

编辑Nginx站点配置(/etc/nginx/sites-available/default):

server {
    listen 80;
    root /var/www/html;
    index index.php index.html;
    location / {
        try_files $uri $uri/ =404;
    }
    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;  # 与PHP-FPM版本匹配
    }
}

保存后测试配置:sudo nginx -t,若无报错则重启Nginx:sudo systemctl restart nginx

服务 安装命令 配置文件路径 常用命令
Nginx sudo apt install nginx -y /etc/nginx/nginx.conf systemctl start/stop/restart nginx
MySQL sudo apt install mysql-server -y /etc/mysql/mysql.conf.d/mysqld.cnf systemctl start/stop/restart mysql
PHP-FPM sudo apt install php-fpm -y /etc/php/8.1/fpm/php.ini systemctl start/stop/restart php8.1-fpm

防火墙与安全加固

配置UFW防火墙

sudo ufw allow 2222/tcp  # 允许SSH端口(修改后的端口)
sudo ufw allow 80/tcp    # 允许HTTP
sudo ufw allow 443/tcp   # 允许HTTPS
sudo ufw enable         # 启用防火墙(输入y确认)

禁用不必要服务

sudo systemctl disable --now avahi-daemon  # 禁用网络发现服务
sudo systemctl disable --now cups          # 禁用打印服务

定期更新系统

设置自动更新:sudo apt install unattended-upgrades -y,编辑/etc/apt/apt.conf.d/50unattended-upgrades,开启安全更新:

Unattended-Upgrade::Automatic-Reboot "true";  # 自动重启
Unattended-Upgrade::Automatic-Reboot-Time "02:00";  # 重启时间

维护与监控

日志查看

  • Nginx访问日志:/var/log/nginx/access.log
  • MySQL错误日志:/var/log/mysql/error.log
  • 系统日志:/var/log/syslog
    可通过tail -f实时查看日志,如tail -f /var/log/nginx/access.log

备份策略

使用rsync定期备份重要数据(如网站目录、数据库):

ubuntu服务器搭建

# 备份网站目录到远程服务器
rsync -avz /var/www/html/ user@backup-server:/backup/web/
# 备份数据库
mysqldump -u root -p webdb > /backup/webdb_$(date +%F).sql

通过crontab -e设置定时任务(如每天凌晨2点执行备份):

0 2 * * * /usr/bin/mysqldump -u root -p密码 webdb > /backup/webdb_$(date +%F).sql

相关问答FAQs

Q1:如何检查Ubuntu服务器是否正常运行?
A:可通过以下命令检查服务状态和系统资源:

  • 查看系统负载:uptime(显示1/5/15分钟平均负载)
  • 查看CPU/内存使用:htop(需安装:sudo apt install htop -y
  • 查看关键服务状态:systemctl status nginxsystemctl status mysql
  • 检查网络连通性:ping 8.8.8.8curl https://www.baidu.com

Q2:忘记服务器密码怎么办?
A:若为本地服务器,可通过重启进入GRUB菜单,选择“Advanced options for Ubuntu”,进入恢复模式,选择“root” shell,执行passwd 用户名重置密码;若为云服务器,可通过控制台“重置密码”功能修改(需先停止服务器,部分云平台支持在线重置),重置后重启服务器即可正常登录。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/31382.html

(0)
酷番叔酷番叔
上一篇 2025年9月27日 19:42
下一篇 2025年9月27日 20:15

相关推荐

  • 发布无边界计算服务器战略,无边界计算服务器是什么

    发布无边界计算服务器战略的核心在于打破物理机房限制,通过软件定义算力实现跨地域、跨云端的资源无缝调度,这是2026年企业应对AI大模型训练爆发与边缘计算低延迟需求的最优解,无边界计算的战略重构:从集中式到分布式传统的IT架构受限于物理服务器的地理位置与硬件规格,导致算力调度存在明显的“边界”,2026年,随着生……

    2026年6月11日
    1300
  • 云计算和云服务器是一回事吗?它们的核心区别与应用场景是什么?

    云计算是数字时代变革的关键技术,它通过网络将庞大的计算资源池(包括服务器、存储、数据库、网络、软件等)按需提供给用户,实现了从“购买硬件”到“使用服务”的IT模式转变,在这一体系中,云服务器作为最核心的基础设施服务形态,承载了企业数字化转型的底层支撑,其技术演进与应用拓展正深刻重塑着各行各业的运营逻辑,云计算的……

    2025年9月21日
    15500
  • 发布静态网站怎么操作,静态网站发布

    发布静态网站最稳妥且高效的路径是选择支持全球CDN加速、具备自动化CI/CD集成能力且提供免费基础额度的主流云托管平台(如Vercel、Cloudflare Pages或腾讯云静态网站托管),其核心优势在于毫秒级加载速度、零服务器维护成本及极高的安全性,2026年已成为中小企业和个人开发者构建高性能Web应用的……

    2026年6月9日
    1000
  • 负载均衡最大连接数限制,是否影响了性能和稳定性?负载均衡最大连接数

    负载均衡的最大连接数并非固定值,而是由后端服务器性能、网络带宽及负载均衡器自身硬件配置共同决定的动态上限,2026年主流云厂商标准实例通常支持10万至100万并发连接,具体数值需根据业务场景定制,在数字化业务全面向实时交互转型的2026年,高并发场景下的系统稳定性已成为企业核心竞争力的关键指标,许多技术负责人常……

    2026年5月24日
    2200
  • 发货短信通知中遗漏了哪些重要信息?发货短信模板及必含关键要素

    2026年发货短信通知的核心价值在于通过即时触达将物流状态转化为信任资产,其最佳实践是结合API接口实现毫秒级推送,并遵循《个人信息保护法》进行隐私脱敏,以显著提升用户复购率并降低客服咨询成本,在电商与零售行业进入存量竞争阶段的2026年,传统的“等待式”服务已无法满足消费者对确定性的极致追求,发货通知不再仅仅……

    2026年6月6日
    1400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信