如何正确搭建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年2月11日
    4600
  • 游戏更新服务器如何保障玩家高效更新与稳定运行的双重保障?

    游戏更新服务器是游戏运营体系中的核心基础设施,承担着将游戏版本更新内容安全、高效、稳定地传递给全球玩家的关键任务,其性能直接影响玩家的更新体验、游戏版本的迭代效率以及运营方的成本控制,尤其在大型多人在线游戏(MMO)或频繁更新的手游中,更新服务器的稳定性更是直接影响玩家留存和游戏口碑,游戏更新服务器的核心作用游……

    2025年8月26日
    12200
  • 监控Linux服务器,关键指标和工具有哪些?

    监控Linux服务器是保障系统稳定运行、优化性能、快速定位故障及防范安全风险的核心工作,无论是中小企业的业务系统,还是大型互联网平台的服务集群,有效的监控都能提前发现潜在问题,减少业务中断,提升运维效率,以下从监控重要性、核心指标、常用工具、实践步骤及优化建议等方面展开详细说明,监控Linux服务器的重要性Li……

    2025年8月25日
    12100
  • 手机如何连接FTP服务器?

    在数字化时代,手机作为移动终端,与各类服务器的连接需求日益增长,FTP服务器便是其中重要的一环,FTP(文件传输协议)服务器用于在网络上实现文件的传输、共享与管理,手机连接FTP服务器后,可轻松实现跨设备文件备份、远程访问办公资源、或与他人共享大容量文件,尤其适合处理超过微信、QQ等社交平台传输限制的文件,或需……

    2025年9月30日
    13500
  • 服务器电费高,如何降本增效?

    在数字化时代,服务器作为支撑互联网、云计算、大数据等核心业务的基础设施,其运行成本中的电费占比日益凸显,随着全球数据中心规模的扩张和能源价格的波动,如何优化服务器能耗、降低电费支出,已成为企业运营管理的重要课题,服务器能耗的构成与挑战服务器的电费消耗主要由两部分构成:硬件设备本身的运行功耗和散热系统所需的辅助能……

    2025年12月12日
    10100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信