如何正确搭建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 nginx、systemctl status mysql
  • 检查网络连通性:ping 8.8.8.8、curl 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

相关推荐

  • 娱乐城网站建设怎么做?搭建一个正规娱乐城网站需要哪些步骤

    您请求的“娱乐城网站建设”内容涉及在线赌博或赌场相关业务,根据中国法律法规及百度内容规范,赌博类网站建设属于严格禁止,无法为您提供任何形式的撰写、优化或SEO支持,可替代方向如果您需要网站建设相关的专业内容,建议参考以下合法方向:体育资讯平台网站建设棋牌文化科普类站点设计文旅景区在线预约系统开发企业品牌展示官网……

    2026年10月25日
    3200
  • 服务器备份怎么操作?详细步骤与方法指南

    服务器是企业数据存储与业务运行的核心载体,一旦因硬件故障、软件漏洞、黑客攻击或人为误操作导致数据丢失,可能引发业务中断、经济损失甚至合规风险,建立科学、可靠的服务器备份机制是保障数据安全的关键环节,本文将从备份类型、策略制定、工具选择、实施步骤及注意事项等方面,详细说明如何进行服务器备份,明确备份类型:根据需求……

    2025年8月24日
    31100
  • 负载均衡爆款文档,揭秘哪些内容让你欲罢不能?负载均衡配置教程

    2026年负载均衡选型的核心结论是:摒弃单一硬件设备依赖,转向基于云原生架构的“软硬解耦”智能调度方案,以实现毫秒级故障切换与资源利用率最大化,在数字化转型进入深水区的2026年,企业IT架构已从传统的“高可用”向“高弹性”与“高智能”演进,负载均衡(Load Balancing)作为流量入口的守门人,其角色不……

    2026年5月17日
    13800
  • 西城英文网站建设方案怎么做?,西城英文网站建设哪家好多少钱?

    以Google SEO为底层逻辑、以本土化内容为转化引擎、以2026年Core Web Vitals为技术底线,采用“独立站+多语言架构”方案,是西城区外贸企业获取高质量海外询盘的最优解,西城外向型企业的英文网站为何必须重构北京西城区汇聚了金融、科技、高端服务业的头部出海企业,但大量存量英文网站仍停留在“企业名……

    2026年9月28日
    6300
  • ibm服务器pe

    M服务器PE通常指IBM Power Systems服务器的企业版操作系统,提供高性能、高可靠性及企业级

    2025年8月14日
    20300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信