如何正确搭建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

相关推荐

  • Dell服务器为何选Intel Xeon Scalable?

    Intel Xeon Scalable processors are the core CPUs powering Dell enterprise servers, delivering high performance, scalability, and reliability for demanding data center and cloud workloads.

    2025年7月4日
    7100
  • 搭建服务器数据库服务器需注意哪些关键步骤?

    搭建数据库服务器是企业数据管理的核心环节,需结合业务需求从硬件、软件、安全等多维度规划,首先需明确服务器用途,是用于在线事务处理(OLTP)还是在线分析处理(OLAP),前者需高并发、低延迟,后者侧重大内存与高吞吐,硬件选择上,CPU建议选用多核处理器(如Intel Xeon或AMD EPYC),内存至少16G……

    2025年9月10日
    4100
  • flex 服务器

    ex服务器是一种可灵活扩展和配置的服务器,能根据业务需求动态调整资源,高效处理

    2025年8月18日
    6900
  • 为何阿里巴巴服务器要沉入湖底?

    在数字化时代,数据中心的选址与建设直接关系到企业的运营效率、成本控制及可持续发展战略,阿里巴巴作为全球领先的科技企业,其服务器基础设施的布局始终走在行业前沿,近年来,一个极具创新性的项目——“阿里巴巴服务器在湖底”引发了广泛关注,这一项目不仅体现了阿里在绿色计算领域的深度探索,更通过独特的技术架构,重新定义了数……

    2025年11月29日
    1100
  • cac服务器是什么?其核心功能与应用场景有哪些?

    CAC服务器(Central Authentication Center Server,中央认证中心服务器)是现代信息化系统中实现统一身份认证与访问控制的核心组件,主要用于集中管理用户身份信息、认证策略及访问权限,确保多个应用系统间的安全认证与单点登录(SSO)能力,其核心价值在于解决传统分散认证模式下存在的密……

    2025年10月24日
    2200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信