当前位置: 首页 > news >正文

从零搭建企业级Web服务:Shell脚本 + LNMP + Docker 实战指南

很多人觉得企业网络管理很虚,其实核心就三件事:让机器自动干活(Shell)、把网站跑起来(LNMP)、把环境打包带走(Docker)。本文不讲理论,只讲怎么用。


一、为什么是这三个技术?

在企业里,运维工程师的日常通常是这样的:

  1. 服务器磁盘快满了,要自动清理日志 →Shell脚本

  2. 公司要上线一个新官网 →LNMP架构

  3. 开发说“在我电脑上好好的”,到了服务器就报错 →Docker容器

掌握这三样,你就掌握了中小企业80%的运维需求。


二、Shell脚本:服务器的“自动化管家”

Shell不是编程语言,而是命令的集合。它的核心价值在于:把重复的人工操作变成一键执行。

1. 最常见的应用场景

  • 每天凌晨2点备份数据库

  • 监控CPU/内存使用率,超标发邮件

  • 新服务器初始化(创建用户、装软件)

2. 实战:自动备份网站目录

假设你的网站放在/var/www/html,你想每天打包备份。

#!/bin/bash # 定义变量,方便修改 BACKUP_DIR="/backup" WEB_DIR="/var/www/html" DATE=$(date +%Y%m%d) # 创建备份目录(如果不存在) mkdir -p $BACKUP_DIR # 打包压缩 tar -czf $BACKUP_DIR/web_backup_$DATE.tar.gz $WEB_DIR # 删除7天前的旧备份,节省空间 find $BACKUP_DIR -name "web_backup_*.tar.gz" -mtime +7 -delete echo "备份完成:$BACKUP_DIR/web_backup_$DATE.tar.gz"

关键点解释:

  • #!/bin/bash:告诉系统用bash解释器执行。

  • $(date +%Y%m%d):获取当前日期,避免文件名重复。

  • find ... -mtime +7 -delete:这是运维的经典清理命令。

如何运行?

chmod +x backup.sh # 赋予执行权限 ./backup.sh # 运行脚本

三、LNMP架构:企业网站的标配

LNMP(Linux + Nginx + MySQL + PHP)是目前最流行的Web服务架构之一。相比传统的Apache,Nginx在高并发下性能更好。

1. 架构逻辑

  • Linux:操作系统地基。

  • Nginx:接待员,负责接收用户请求,分发静态文件(图片、CSS)。

  • PHP:厨师,处理动态逻辑(比如用户登录)。

  • MySQL:仓库,存储账号、文章内容等数据。

2. 核心配置思路(以CentOS为例)

(1)安装Nginx

yum install nginx -y systemctl start nginx

访问服务器IP,看到“Welcome to nginx!”说明成功。

(2)安装MySQL(MariaDB)

yum install mariadb-server -y systemctl start mariadb mysql_secure_installation # 设置root密码,移除匿名用户

(3)安装PHP

yum install php php-fpm php-mysql -y systemctl start php-fpm

(4)让Nginx识别PHP(关键步骤)

编辑Nginx配置文件(/etc/nginx/conf.d/default.conf),找到location ~ \.php$这一段,取消注释并修改为:

location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

重启Nginx:systemctl restart nginx

(5)测试

/usr/share/nginx/html下新建info.php

<?php phpinfo(); ?>

浏览器访问http://你的IP/info.php,能看到PHP信息页,说明LNMP搭建成功。


四、Docker:一次构建,到处运行

Docker解决了“环境不一致”的难题。你可以把应用和它依赖的环境打包成一个“镜像”,然后在任何安装了Docker的机器上运行。

1. 核心概念

  • 镜像(Image):类似Windows的安装光盘,只读模板。

  • 容器(Container):镜像运行后的实例,相当于一台微型虚拟机。

2. 实战:用Docker部署一个LNMP环境

不用手动装Nginx、PHP了,直接用现成的镜像。

(1)编写Dockerfile

# 使用官方Nginx镜像作为基础 FROM nginx:latest # 删除默认的Nginx配置 RUN rm /etc/nginx/conf.d/default.conf # 将自己本地的Nginx配置文件复制到容器内 COPY default.conf /etc/nginx/conf.d/ # 将本地的网站代码复制到Nginx的根目录 COPY html /usr/share/nginx/html # 暴露80端口 EXPOSE 80

(2)准备Nginx配置(default.conf)

server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } location ~ \.php$ { fastcgi_pass php-fpm:9000; # 这里连接另一个PHP容器 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name; include fastcgi_params; } }

(3)构建与运行

docker build -t my-web-app . docker run -d -p 80:80 --name web-container my-web-app

现在访问服务器IP,看到的将是你放在html文件夹里的网站内容。


五、总结

技术

解决的问题

一句话心法

Shell

重复性劳动

变量 + 命令 + 定时任务 (Cron)

LNMP

网站服务搭建

Nginx处理静态,PHP处理动态,MySQL存数据

Docker

环境一致性

镜像即环境,一次打包,随处运行

http://www.cnnetsun.cn/news/3342466.html

相关文章:

  • WaveTools:如何通过3个核心模块优化你的《鸣潮》游戏体验?
  • 5分钟彻底解决Windows更新故障:Reset Windows Update Tool完整指南
  • 1987年8月13日晚上23-24点出生性格、运势和命运
  • 5分钟零门槛解锁Wand完整功能:终极远程控制增强指南
  • 3分钟解锁WeMod专业版:Wand-Enhancer终极免费指南
  • ESP-IDF开发环境搭建与物联网应用实战指南:从零开始掌握ESP32开发
  • 3步解锁:Wand-Enhancer 完整指南
  • Windows Defender性能瓶颈分析及系统资源释放优化方案
  • 终极免费Windows Syslog服务器:5分钟实现网络日志集中监控
  • 小米路由器R4 TTL刷机:CH340G工具+SecureCRT 8.1配置,3步进入UBoot命令行
  • Wand-Enhancer:免费解锁WeMod专业功能的技术指南与实战应用
  • 暗黑2存档编辑器:打造完美角色的终极免费工具
  • MediaCrawler:5大主流社交媒体平台数据采集的免逆向解决方案
  • DDrawCompat终极指南:让经典游戏在现代Windows上重获新生
  • Visual Studio Community 2015 离线安装:3步获取ISO镜像与自定义组件选择指南
  • UE5运行时资源热更新实战:Pak文件动态挂载与加载策略详解
  • Unity开发必备:Roslyn Analyzers静态代码分析实战指南
  • 3种路由器互联线缆选择对比:Cisco Packet Tracer 8.2 中DCE/DTE/交叉线实测
  • 3步解锁Wand专业版:终极免费增强方案完全指南
  • AI视频生成:超越Prompt的三大核心技术挑战与解决方案
  • 1987年8月19日晚上23-24点出生性格、运势和命运
  • x86/x64 汇编指令与调用惯例实战:5种寻址模式与3大调用约定解析
  • Windows Server 2022 IIS FTP 服务器配置:5步实现局域网文件共享与权限管理
  • 软著申请材料避坑指南:微信小游戏源码与文档 5 项格式要点详解
  • 雷达波形设计实战:3种窗函数对脉冲串副瓣抑制效果分析
  • KOReader界面主题自定义终极指南:如何打造专属阅读体验
  • 终极指南:如何三步轻松下载国家中小学智慧教育平台电子课本PDF
  • 深度解析Ornith-1.0-9B:开源智能编码代理的架构揭秘与实战指南
  • CPUfp:5分钟掌握CPU浮点性能测试的终极工具
  • AI工具如何提升论文写作效率:6大实战应用解析