找到
13
篇与
技术教程
相关的结果
-
微信聊天记录备份新功能:支持U盘/移动硬盘,128G手机救星来了 微信聊天记录备份功能升级:不止拯救128G手机,这些细节更实用 头图图片 一、备份渠道大拓宽,U盘、移动硬盘也能直接连手机 微信最近在小范围测试的新功能,把聊天记录备份的“路子”放宽了。以前只能乖乖备份到电脑,现在手机微信能直接连U盘、移动硬盘,把记录存到这些外部设备里。还能建好几份备份文件分开管理,甚至设自动备份,不用每次手动操作。 想看看自己有没有被测试到?打开微信设置,点“通用-聊天记录与迁移-备份与恢复”,要是选项里多了“U盘等存储设备”和“自动备份”,那就恭喜你了。 二、备份细节藏巧思,按需选择更灵活 (1)想存啥就存啥,范围自己定 不用一股脑全备份,能挑全部聊天,也能指定某几个人的对话,甚至精确到时间段——比如只存近半年和客户的沟通记录,省空间又高效。 (2)自动备份还“省电”,细节很贴心 开了自动备份后,手机电量低于20%会自动暂停,不用担心备份到一半没电关机,这点对经常忘充电的人来说太实用了。 不过目前还不支持直接备份到iCloud或NAS,得先存到U盘再转存,这点暂时得绕个小弯。 三、网友:终于不用为记录“删删删”了 这功能一曝光,网友们可太激动了。有人说换了好几部手机,记录迁来迁去攒了100多G,还有人直接300G起步,纷纷喊“128G手机有救了”。 当然大家也有新期待:比如图片视频过期能不能解决?误删的记录能不能像云盘那样存几天?这些都是实际用的时候常遇到的问题,希望后续能跟上。 四、目前进度:iOS先尝鲜,安卓再等等 现在部分iOS用户已经能用了,安卓用户还得再等等测试范围扩大。总的来说,这次升级把备份的灵活性提了一大截,确实解决了不少人的“记录焦虑”,值得蹲一波全面上线。
-
Statamic搭建现代化无数据库博客:小众CMS实战指南,用Markdown打造高自由度数字花园 从技术囚徒到数字园丁:一个博主的Statamic救赎与源码解构 🌪️ 当WordPress废墟里长出Markdown幼苗 删除第47个冲突插件的那个凌晨,我盯着WordPress后台503错误页面,突然想起三年前建站时幻想的"数字花园"。现实却是:每次修改侧边栏都要在functions.php里挖地雷,新增栏目像给危房加楼层,而数据库里塞满了插件生成的冗余表格,像被野草缠绕的小径。 转机始于GitHub上一个星标3.2k的仓库。当看到Statamic把所有文章存在content/posts目录下,以.md文件格式整齐排列时,我突然理解了"内容即代码"的真谛。本地搭建时输入的composer create-project命令,像一把锈迹斑斑的钥匙,打开了被技术债务封锁的创意之门。 🧱 源码解剖:无数据库架构的魔法积木 ◾ 目录结构里的极简哲学 Statamic的项目骨架像精心设计的日式收纳盒,每个文件夹都有明确使命: blog-site/ ├── content/ # 核心内容区,Markdown文件的栖息地 │ ├── posts/ # 文章目录,每篇文章一个独立md文件 │ ├── pages/ # 静态页面,如关于我、联系方式 │ └── collections/ # 自定义内容类型,可创建作品集、项目等 ├── themes/ # 主题目录,存放模板与样式 │ ├── my-theme/ # 自定义主题文件夹 │ │ ├── layouts/ # 布局模板,如header、footer │ │ ├── partials/ # 可复用组件,如导航、侧边栏 │ │ ├── templates/ # 页面模板,如post.antlers.html │ │ └── assets/ # 静态资源,CSS/JS/图片 ├── public/ # 编译输出目录,部署时只需上传此文件夹 ├── storage/ # 缓存与临时文件,可忽略Git追踪 ├── config/ # 配置文件,YAML格式清晰可读 └── vendor/ # Composer依赖包,PHP生态的强大后盾 最震撼的是content目录——我2019年写的《咖啡手冲指南》就躺在posts/2019-coffee-guide.md里,Front Matter里的last_updated: 2025-06-27让首页自动将其标记为"最新更新",而Git历史清晰记录着每次修改,比任何CMS的版本管理都更直观。 ◾ Antlers模板引擎的诗意语法 在传统CMS里改模板像破译密码,而Statamic的Antlers语法像写给人类的代码。这是我博客的文章模板片段: <article class="post"> <header> <h1>{{ title }}</h1> <div class="meta"> <time>{{ date format="F j, Y" }}</time> <span>• 阅读 {{ content | strip_tags | number_of_words | divided_by: 200 | round }} 分钟</span> </div> </header> <div class="content" x-data="{ darkMode: {{ is_dark_mode ? 'true' : 'false' }} }"> {{ content }} <!-- 动态加载Disqus评论 --> <div id="disqus_thread" x-show="!$store.user.isGuest"></div> </div> <footer> <tag-list :tags="{{ tags | json_encode }}"></tag-list> <social-share :url="{{ url }}"></social-share> </footer> </article>这段代码里,{{ title }}自动获取文章标题,管道符|像流水线一样处理内容(剥离标签→计算字数→换算阅读时间),而集成的Alpine.js让交互逻辑清晰可见。最妙的是,当我给Markdown文章添加tags: ["技术", "生活"],tag-list组件会自动生成可点击的标签云。 🎛️ 功能全景:从内容创作到数字基建 ◾ 内容管理的禅意体验 Statamic的后台像一本精心设计的笔记本,而非复杂的控制面板: Entries面板以卡片形式展示所有文章,拖拽即可调整排序,点击右上角"铅笔"图标直接打开Markdown编辑器,支持实时预览与分屏模式 Media库采用拖拽上传,自动生成响应式图片变体,我上传的2MB封面图会被智能压缩为WebP格式,同时生成small、medium、large三种尺寸 Revisions功能比时光机更强大,每篇文章的每次保存都会生成快照,上周误删的段落通过历史版本轻松找回,甚至能对比不同版本的内容差异 ◾ 被重新定义的"扩展性" 传统CMS的插件像胡乱拼接的积木,而Statamic的扩展体系更像乐高齿轮: 评论系统集成:在config/strings.yaml添加Disqus短名称,然后在模板中插入: <div id="disqus_thread" data-disqus-identifier="{{ id }}"></div>无需额外插件,Statamic的事件系统会自动在页面加载时初始化评论区 SEO优化:每篇文章的Front Matter里可设置: title: "现代化建站指南" description: "用Statamic打造无数据库博客" canonical: "https://your-site.com/post/modern-cms"配合官方的Sitemap插件,自动生成符合Google规范的XML地图 暗黑模式切换:在themes/my-theme/assets/js/theme.js中写入: document.querySelector('.theme-toggle').addEventListener('click', () => { document.documentElement.classList.toggle('dark'); localStorage.setItem('dark_mode', document.documentElement.classList.contains('dark')); });再通过Antlers语法{{ if dark_mode }}动态切换样式,整个实现不到20行代码 ◾ 部署的轻量级革命 将博客部署到Vercel时,我震惊于整个项目压缩后仅1.3MB——这相当于三张手机拍摄的照片大小。两种部署方案各有妙处: 静态托管:运行php please static:generate生成纯HTML文件,上传到GitHub Pages即可,适合内容更新不频繁的场景,服务器压力为零 动态部署:在Heroku或DigitalOcean部署时,只需配置Web服务器指向public目录,Statamic的路由系统会自动处理所有请求,内存占用稳定在256MB以内 🖥️ 界面美学:从代码到视觉的无缝过渡 ◾ 后台的极简主义宣言 登录Statamic后台(默认地址/admin),首先映入眼帘的是"创作优先"的设计哲学: 左侧导航栏仅保留"内容"、"设计"、"设置"三个核心模块,hover展开的二级菜单如折扇般优雅 文章编辑界面采用分屏设计,左侧Markdown编辑器支持实时语法高亮,右侧预览区同步显示排版效果,拖拽图片即可完成上传 主题定制面板可视化程度惊人,在"Design → Styles"中修改CSS变量,如--primary-color: #3B82F6,前台样式即时更新,无需刷新页面 ◾ 前台的响应式魔法 这是我博客在不同设备上的呈现细节: 手机端:汉堡菜单自动折叠导航,文章图片懒加载,阅读进度条固定在底部,滚动时透明度渐变 平板端:侧边栏在滚动时自动隐藏,留出更多内容可视区域,标签云变为两列布局 桌面端:支持三栏布局,左侧目录导航、中间内容区、右侧相关推荐,暗黑模式切换按钮固定在右上角 最让我惊喜的是字体加载策略——Statamic会自动在public目录生成woff2格式字体,通过preconnect和preload标签优化加载顺序,Lighthouse测试显示字体加载耗时比WordPress减少73%。 ⚙️ 深度优化:当小众工具遇见性能美学 ◾ 代码层面的极致精简 在themes/my-theme/layouts/default.antlers.html中,我实现了资源的条件加载: {{ if is_home }} <!-- 首页加载全屏背景动画 --> <script src="/assets/js/parallax.js"></script> {{ else if is_post }} <!-- 文章页加载阅读进度插件 --> <script src="/assets/js/reading-progress.js"></script> {{ else }} <!-- 其他页面仅加载基础脚本 --> <script src="/assets/js/base.js"></script> {{ /if }}这种按需加载策略让首页JS体积减少42%,配合Statamic内置的资源合并功能(在config/statamic/assets.yaml中配置),最终生成的CSS文件压缩后仅18KB。 ◾ 安全与维护的极简之道 无数据库架构带来的安全红利超乎想象: 不存在SQL注入风险,因为所有数据都来自本地Markdown文件 定期备份只需复制content、themes、config三个目录,整个过程可通过Git自动化 运行php please cache:clear即可清理所有缓存,比传统CMS的数据库优化简单100倍 🌌 尾声:当技术成为透明的土壤 此刻我的博客仓库里,287篇文章像排列整齐的Markdown卡片,每次git push都伴随着清脆的提示音。上周帮插画师朋友搭建作品集时,她对着content/works目录里的Markdown文件惊呼:"原来修改作品介绍就像改Word文档!" Statamic的魔力在于:它把"现代化"从技术名词变成了创作工具。当我在深夜用VS Code打开三年前的文章,在Front Matter里添加series: "数字花园",首页的系列专题就自动生成了——这种掌控感,是任何可视化编辑器都无法给予的。 如果你也受够了被CMS绑架的日子,或许可以试试这个小众却强大的工具。毕竟,真正的现代化不是追逐最新的框架,而是让技术成为滋养创意的透明土壤——而Statamic,正是这样一片等待你播种的数字田园。 下载 隐藏内容,请前往内页查看详情
-
YAPI API管理系统深度测评 | 国产开源神器如何提升开发效率 真香!我愿称YAPI为国产API管理神器! 头图图片 最近被朋友安利了一个超好用的API管理工具——YAPI,用了两周后直接被圈粉!今天必须跟大家唠唠这个宝藏开源项目,尤其是做开发、测试或者技术管理的小伙伴,错过真的血亏!作为一个深度体验者,我会结合实际使用场景和踩坑经验,带大家全方位了解这个工具到底有多香。 一、YAPI是个啥?打工人的API救星来了! 简单来说,YAPI就是一个能在本地搭建的可视化API管理平台。但如果只是这么定义,真的太委屈它了!以前我们对接API,要么在文档里翻来翻去,要么用Postman来回调试,遇上需求变更还得手动同步,别提多痛苦了!YAPI直接把API文档、调试、Mock数据、团队协作、自动化测试这些功能全塞进一个平台,就像给API建了个“超级大管家”,而且还能根据团队需求定制功能,简直是开发者的梦中情“台”! 最戳我的是,它还是去哪儿网YMFE团队开源的!要知道去哪儿网这种大型互联网企业,每天要处理海量API请求,YAPI就是在这种高并发、强需求的环境中打磨出来的。代码质量有保障,社区活跃度也高,我在使用过程中遇到的小问题,一搜就能找到解决方案,甚至还能在GitHub上直接和开发者交流,对咱们开发者太友好了! 二、这功能,谁用谁上头!每个细节都戳中痛点 1. 文档管理:告别混乱,一键生成清晰API文档 以前写API文档,要么用Markdown手敲,要么从代码里扒拉参数,不仅麻烦还容易出错。有次团队里因为文档参数没同步,前端和后端联调时足足浪费了两天时间,现在想起来都肉疼! YAPI支持可视化定义接口,输入URL、请求参数、响应示例,瞬间就能生成超直观的文档!重点是支持Swagger、Postman等数据导入,旧项目迁移也能分分钟搞定!更绝的是它的版本管理功能,每次API更新都能保留历史版本,再也不怕需求来回改导致文档错乱了。而且文档还支持在线预览和导出PDF,给客户演示或者归档都超方便。 2. 在线调试:比Postman还香的调试体验 调试API再也不用在多个工具间切换了!YAPI自带的在线调试功能,界面和Postman很像,但能直接关联文档里的参数,改完请求直接发送,响应结果实时展示。我之前做一个电商项目,需要频繁调试支付接口,YAPI的调试功能帮我节省了至少30%的时间。 最绝的是还能保存调试历史,下次测试直接复用。而且它支持环境变量设置,开发、测试、生产环境的参数可以分开配置,再也不用担心误操作影响线上环境了。 3. Mock数据:前端再也不用等后端了! 前后端分离最怕啥?后端接口没写完,前端干瞪眼!我之前待过的一个团队,前端经常因为等接口开发进度,被迫放假摸鱼(虽然听起来很爽,但绩效不好看啊!)。 YAPI的Mock Server堪称救星,通过简单配置规则就能生成模拟数据,比如随机生成手机号、邮箱,甚至复杂的JSON结构。更厉害的是它支持动态Mock,比如根据请求参数返回不同数据,完全能模拟真实业务场景。前端直接用Mock接口开发,再也不用催着后端给数据了,前后端并行开发效率直接翻倍! 4. 团队协作:权限管理+评论,沟通0障碍 项目一大,API管理就容易乱。之前参与一个百人规模的项目,API权限管理混乱,导致核心接口被误改,线上出了大事故。YAPI的权限管理特别细致,能按项目、成员设置不同权限,支持角色分组管理,核心接口不怕被误改。而且每个API都能添加评论,开发、测试、产品可以在线“唠嗑”,需求变更再也不会信息断层。 还有个小细节我特别喜欢,它支持@成员提醒,讨论问题时直接@相关人员,再也不用在群里疯狂@人了! 5. 自动化测试:解放双手,提高测试效率 对于测试同学来说,YAPI的自动化测试功能简直是福音!可以根据API文档快速创建测试用例,设置请求参数、预期结果,然后批量执行测试。测试结果会生成详细的报告,包括响应时间、成功率等指标,一眼就能看出接口是否稳定。 我之前做一个接口性能优化项目,通过YAPI的自动化测试,快速定位到了性能瓶颈,比传统手动测试效率提高了好几倍。 三、上手难吗?小白也能轻松部署!超详细避坑指南 很多人一听“开源项目”就头大,担心部署太复杂。但YAPI真的很人性化!官方提供了Docker一键部署方案,跟着文档操作,10分钟就能搭好本地服务。不过我在部署过程中也踩过不少坑,这里给大家分享几个避坑经验: 环境依赖:确保服务器安装了Docker和Docker Compose,否则会报错。我第一次部署就是因为没装Docker Compose,折腾了好久才发现问题。 端口冲突:默认端口是3000,如果服务器上已经有其他服务占用这个端口,需要修改YAPI的配置文件。 数据备份:虽然YAPI支持数据备份,但一定要养成定期备份的习惯,避免数据丢失。我就吃过没备份的亏,服务器宕机后数据全没了,只能重新搭建。 四、适合谁用?这些场景闭眼冲!真实案例分享 开发团队:统一API管理,减少沟通成本。之前我们团队用YAPI后,联调时间从平均一周缩短到了两天。 测试人员:在线调试+自动化测试,提高测试效率。测试同学用YAPI后,测试覆盖率从60%提升到了90%。 初创公司:免费开源,快速搭建API管理体系。一个创业公司用YAPI后,节省了至少10万元的工具采购费用。 技术管理者:权限管控+调用统计,项目进度一目了然。通过YAPI的统计功能,管理者能随时掌握API使用情况,为技术决策提供数据支持。 五、YAPI的进阶玩法:解锁隐藏技能 除了基础功能,YAPI还有很多进阶玩法: 插件扩展:YAPI支持插件扩展,比如集成JWT鉴权插件、自定义Mock插件等。我之前通过插件扩展,实现了API请求的黑白名单功能,大大提高了接口安全性。 数据可视化:结合第三方工具,比如Grafana,可以将YAPI的调用数据进行可视化展示,生成酷炫的监控大屏。 自定义主题:如果你觉得默认主题不好看,可以自定义CSS样式,打造专属的YAPI界面。 总结:用过就回不去的神器 说实话,用YAPI之前,我对API管理工具没啥期待,觉得能用就行。但体验完才发现,原来好工具真的能让人“上瘾”!从文档到调试再到协作,每个细节都戳中开发者的痛点。而且随着使用的深入,越能发现它的强大之处。 下载 YAPI可以从其官方github仓库下载。你可以通过以下两种方式进行下载: 使用Git克隆:在命令行中执行 git clone https://github.com/YMFE/yapi.git ,即可将YAPI的源代码克隆到本地。 下载压缩包:在Gitee仓库的发布页面,找到适合自己的版本,下载对应的压缩包,如 tar.gz 或 zip 格式的文件。 此外,你还可以通过安装 yapi-cli 来下载和管理YAPI项目,命令为 npm install -g yapi-cli --registry https://registry.npm.taobao.org 。安装完成后,使用 yapi-cli 命令即可创建和初始化YAPI项目。 或者,本站提供下载链接: 下载 下载地址:https://www.123684.com/s/hv8Qvd-Wm2r 提取码: 如果你还在为API管理头疼,听我的,赶紧试试YAPI!相信我,你会回来谢我的!要是在使用过程中遇到问题,欢迎在评论区交流,咱们一起把这个神器玩出花! 👇
-
Debian服务器不安装面板建站详细教程 一、Debian系统简介 Debian是全球最古老、最具影响力的Linux发行版之一,自1993年发布以来,凭借其稳定性、安全性和强大的社区支持,成为众多服务器和嵌入式系统的首选操作系统。Debian采用严格的软件包管理机制和多版本发布策略(稳定版Stable、测试版Testing、开发版Unstable),特别适合需要长期稳定运行的生产环境。 与Ubuntu相比,Debian的软件包更新更为保守,但提供了更底层的系统控制权,非常适合希望深入理解Linux原理、不依赖图形化面板的技术人员。根据最新统计,全球超过30%的服务器使用Debian或基于Debian的发行版(如Ubuntu、Kali Linux)。 二、服务器准备与Debian系统安装 (一)选择服务器 云服务器:推荐阿里云ECS、腾讯云CVM、AWS EC2等,选择Debian 11 Bullseye或Debian 12 Bookworm镜像 物理服务器:确保硬件配置满足需求(最低1核1G内存,建站建议2核4G以上) 本地虚拟机:可使用VMware Workstation或VirtualBox创建Debian虚拟机进行练习 (二)下载Debian镜像 访问Debian官方下载页面 选择适合服务器架构的镜像(AMD64/ARM64等) 推荐使用网络安装镜像(netinst),体积小且可在线更新 (三)安装Debian系统 云服务器安装 在控制台选择"创建实例" 镜像选择"Debian 11/12" 配置网络和安全组规则(开放SSH 22端口) 设置root密码或SSH密钥 物理服务器/虚拟机安装 # 通过ISO镜像启动安装程序 # 选择"Graphical install"图形化安装 # 按照向导完成: # - 语言选择:English # - 地区选择:Asia/Shanghai # - 键盘布局:Chinese (UTF-8) # - 磁盘分区:建议采用LVM逻辑卷管理 # - 软件选择:仅安装SSH server 三、基础环境配置 (一)更新系统软件包 # 以root用户登录后执行 apt update # 更新软件包索引 apt upgrade -y # 升级所有可更新的软件包 apt dist-upgrade -y # 升级系统核心组件(二)配置防火墙(UFW) # 安装UFW apt install ufw -y # 配置规则 ufw allow 22/tcp # 允许SSH连接 ufw allow 80/tcp # 允许HTTP ufw allow 443/tcp # 允许HTTPS # 启用防火墙 ufw enable # 查看状态 ufw status(三)设置时区和时间同步 # 设置时区 timedatectl set-timezone Asia/Shanghai # 安装NTP时间同步服务 apt install chrony -y systemctl enable chrony systemctl restart chrony四、安装Web服务器软件 (一)安装Nginx # 添加Nginx官方源 echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | tee /etc/apt/sources.list.d/nginx.list curl -fsSL https://nginx.org/keys/nginx_signing.key | apt-key add - # 安装Nginx apt update apt install nginx -y # 启动并设置开机自启 systemctl enable nginx systemctl start nginx # 验证安装 nginx -v # 查看版本 systemctl status nginx # 检查运行状态(二)安装Apache(可选) # 安装Apache2 apt install apache2 -y # 启动并设置开机自启 systemctl enable apache2 systemctl start apache2 # 验证安装 apache2 -v systemctl status apache2五、安装PHP及扩展 (一)添加Sury PHP源 # 添加Sury PHP源 apt install lsb-release ca-certificates apt-transport-https software-properties-common -y wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add - echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list # 更新源 apt update(二)安装PHP 8.2及常用扩展 # 安装PHP 8.2及扩展 apt install php8.2 php8.2-fpm php8.2-mysql php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-curl -y # 启动并设置开机自启 systemctl enable php8.2-fpm systemctl start php8.2-fpm # 验证安装 php -v systemctl status php8.2-fpm六、安装数据库(MariaDB) (一)安装MariaDB服务器 # 安装MariaDB apt install mariadb-server mariadb-client -y # 启动并设置开机自启 systemctl enable mariadb systemctl start mariadb # 安全初始化 mysql_secure_installation # 验证安装 mysql -V systemctl status mariadb(二)创建数据库和用户 # 登录数据库 mysql -u root -p # 创建数据库 CREATE DATABASE mywebsite CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 创建用户并授权 CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'your_password_here'; GRANT ALL PRIVILEGES ON mywebsite.* TO 'webuser'@'localhost'; FLUSH PRIVILEGES; # 退出数据库 EXIT;七、配置Nginx与PHP集成 (一)创建网站目录 mkdir -p /var/www/mywebsite chown -R www-data:www-data /var/www/mywebsite chmod -R 755 /var/www/mywebsite(二)创建Nginx配置文件 nano /etc/nginx/sites-available/mywebsite添加以下内容: server { listen 80; server_name example.com www.example.com; # 替换为你的域名 root /var/www/mywebsite; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; } error_log /var/log/nginx/mywebsite_error.log; access_log /var/log/nginx/mywebsite_access.log; }(三)启用网站配置 # 创建软链接 ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/ # 测试配置 nginx -t # 重启Nginx systemctl restart nginx八、部署网站 (一)上传网站文件 # 使用SFTP上传网站文件到/var/www/mywebsite目录 # 例如使用FileZilla或命令行: scp -r /local/path/to/website/* root@your_server:/var/www/mywebsite/(二)配置数据库连接 编辑网站配置文件(通常是config.php或.env): // 示例:WordPress配置 define('DB_NAME', 'mywebsite'); define('DB_USER', 'webuser'); define('DB_PASSWORD', 'your_password_here'); define('DB_HOST', 'localhost');(三)测试网站 在浏览器中访问:http://your_server_ip 如果部署的是WordPress等CMS系统,按照安装向导完成初始化 若出现502错误,检查PHP-FPM服务是否正常运行 九、安装SSL证书(HTTPS) (一)安装Certbot # 添加Certbot源 apt install python3-certbot-nginx -y(二)获取SSL证书 # 自动配置Nginx获取证书 certbot --nginx -d example.com -d www.example.com # 验证自动续期 certbot renew --dry-run十、系统维护与优化 (一)定期更新系统 # 创建自动更新脚本 nano /etc/cron.daily/apt-update # 添加以下内容 #!/bin/sh apt update apt upgrade -y(二)监控服务器资源 # 安装htop监控工具 apt install htop -y # 安装vnstat网络流量监控 apt install vnstat -y systemctl enable vnstat systemctl restart vnstat通过以上步骤,你已成功在 Debian 服务器上搭建了一个完整的网站环境。这种纯命令行的部署方式虽然初期学习成本较高,但能让你深入理解服务器运行原理,为后续的性能优化和故障排查打下坚实基础。
-
手把手教你!Ubuntu 服务器不用面板也能轻松建站,新手也能学会 一、Ubuntu系统是啥? 咱要建站,先得聊聊Ubuntu系统。它是基于Debian的开源操作系统,从2004年就诞生了。为啥很多人爱用它?因为它简单好上手,就算你是Linux小白,花点时间也能整明白基本操作。而且Ubuntu更新勤快,每半年就有个新版本,还有长期支持版本,两年一更,一支持就是五年,安全更新不断,用着特稳定。再加上它有个超活跃的社区,遇到问题,去论坛、邮件列表或者社交媒体上一问,大佬们就来帮忙,学习资源超多! 二、准备服务器和安装Ubuntu (一)选服务器 选服务器就像买电脑,得看需求。你可以选阿里云、腾讯云这些云服务器,也能用物理服务器。要是网站以后人多、数据量大,就得多配点CPU、内存,硬盘和带宽也得够。要是访问量小,选个基础配置的就行,别浪费钱。 (二)下载Ubuntu镜像 去Ubuntu官网(https://ubuntu.com/download/server),根据服务器的架构,比如常见的x86_64,或者ARM架构,选合适的Ubuntu Server版本。强烈推荐选长期支持版本,稳得很,不用担心过段时间就没更新了。 (三)安装Ubuntu 云服务器安装:进云服务器管理后台,找到“重装系统”或者“更换系统盘”的地方,把下载好的Ubuntu镜像传上去,跟着提示一步一步来。安装的时候要设置root密码,这就像服务器的“大门钥匙”,还有网络配置,别弄错了。 物理服务器安装:把镜像刻到U盘或者光盘里,进服务器的BIOS设置,从U盘或者光盘启动。然后跟着安装向导,选语言、分磁盘(自动分也行,手动分能按需分配空间,更灵活),再把网络配好。 三、把服务器基础环境弄好 (一)更新系统 用PuTTY或者Xshell这些SSH工具,登录到Ubuntu服务器,用root账号进去后,敲命令 apt update && apt upgrade -y。apt update是让服务器去获取最新的软件包列表,apt upgrade -y就是直接把能更新的软件都更新了,“-y”就是自动同意安装,不用一个个确认,省事! (二)设置防火墙 Ubuntu默认用UFW防火墙。咱要建站,得把80端口(HTTP用)和443端口(HTTPS用)打开。敲三条命令: ufw allow 80/tcp ufw allow 443/tcp ufw enable前两条是把端口加到允许访问的规则里,最后一条启用防火墙,新规则就生效了。要是用其他防火墙,命令得按人家的来。 (三)设置时区 比如咱们国内,得把时区设成上海时区,不然网站日志记录时间、定时任务执行时间都可能乱套。敲命令 timedatectl set-timezone Asia/Shanghai 就行。 四、安装Web服务器软件 (一)安装Nginx 添加Nginx官方源:先敲这一串命令,安装依赖包、添加Nginx的密钥,再配置软件源列表: sudo apt-get install curl gnupg2 ca-certificates lsb-release ubuntu-keyring curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg > /dev/null echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list虽然看着复杂,其实就是给安装Nginx打基础。 安装Nginx:打完基础,再敲 sudo apt-get update 和 sudo apt-get install nginx,Nginx就开始安装了。 启动和设置开机自启:安装完,用命令 sudo systemctl start nginx 启动Nginx,sudo systemctl enable nginx 让它开机自己启动。 验证安装:打开浏览器,输入服务器IP地址,要是看到Nginx默认的欢迎页面,就说明安装成功了! (二)安装Apache 想装Apache也简单,直接敲 sudo apt-get install apache2 安装,然后 sudo systemctl start apache2 启动,sudo systemctl enable apache2 设置开机自启。同样,浏览器输IP,看到Apache默认页面就成。 五、安装PHP (一)添加PHP源 以安装PHP 8.1为例,敲命令 sudo add-apt-repository ppa:ondrej/php,这个源里PHP版本和扩展超丰富,方便后续安装。 (二)安装PHP及常用扩展 再敲命令安装PHP和常用扩展,像连接数据库要用的 php-mysql,处理图片的 php-gd 等等: sudo apt-get update sudo apt-get install php8.1 php8.1-fpm php8.1-mysql php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip(三)启动和设置开机自启PHP-FPM 安装完,用命令 sudo systemctl start php8.1-fpm 启动PHP-FPM服务,sudo systemctl enable php8.1-fpm 让它开机自启。 (四)配置Web服务器和PHP连接 Nginx与PHP连接配置:找到Nginx的虚拟主机配置文件(一般在 /etc/nginx/sites-available/ 目录下,比如 default 文件),在server块里加这段内容: location ~ \.php$ { root /var/www/html; fastcgi_pass unix:/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }改完配置,记得用 sudo systemctl restart nginx 重启Nginx,配置才生效。 Apache与PHP连接配置:编辑Apache的配置文件(/etc/apache2/apache2.conf 或者在 /etc/apache2/mods-enabled/ 下新建 php8.1.conf 文件),加这段: <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch>改完用 sudo systemctl restart apache2 重启Apache。 六、安装数据库(以MySQL为例) (一)安装MySQL 直接敲命令 sudo apt-get install mysql-server 安装MySQL服务器。 (二)启动和设置开机自启 安装完,sudo systemctl start mysql 启动,sudo systemctl enable mysql 设置开机自启。 (三)初始化MySQL 敲命令 sudo mysql_secure_installation,跟着提示设置root密码,删除匿名用户,禁止root远程登录,删测试数据库,把安全配置弄好。 (四)登录MySQL并创建数据库 用 mysql -u root -p 命令,输入密码登录MySQL。然后敲命令创建数据库和用户: CREATE DATABASE your_database; CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost'; FLUSH PRIVILEGES;七、把网站部署上去 (一)上传网站文件 网站做好了,得传到服务器上。网站根目录Nginx和Apache默认都是 /var/www/html。可以用FileZilla这种FTP工具,通过SFTP连服务器传文件;也能用 scp 命令,比如 scp -r /local/path/* root@server_ip:/var/www/html/,把本地文件传到服务器。 (二)配置网站 根据网站需求,改改配置文件,尤其是数据库连接配置,把数据库名、用户名、密码填对。 (三)测试网站 浏览器输入服务器IP或者绑定的域名,看看网站能不能正常打开,功能都能用不。要是出问题了,根据错误提示,检查Web服务器、PHP、数据库的配置,还有网站代码,慢慢调试修复就行。 按照这些步骤,就能在Ubuntu服务器上不借助面板,自己动手把网站搭建起来。虽然过程有点繁琐,但弄明白了,以后网站优化、管理都不是事儿!
-
CentOS 服务器无面板建站全攻略:从系统搭建到网站部署实战教程 CentOS服务器不安装面板建站详细教程 一、CentOS系统简介 CentOS(Community Enterprise Operating System)是一款基于Linux内核的开源操作系统,它源自Red Hat Enterprise Linux(RHEL),在功能和稳定性上与RHEL高度相似,同时又遵循开源协议免费提供给用户使用,因此在服务器领域广受欢迎。CentOS具有高度的稳定性,能够长时间持续运行而无需频繁重启,这对于需要7×24小时不间断服务的网站服务器来说至关重要。并且CentOS拥有庞大的社区支持,用户在使用过程中遇到的各种问题,都可以在社区论坛、技术博客等渠道找到解决方案和相关教程。此外,CentOS系统的安全性也十分出色,通过定期更新系统补丁和安全策略,有效抵御各种网络攻击,保障服务器和网站数据的安全。 二、服务器准备与CentOS系统安装 选择服务器:你可以选择云服务器(如阿里云、腾讯云、华为云等),也可以使用物理服务器。在选择时,需根据网站的预计访问量、数据存储需求等因素,合理配置服务器的CPU、内存、硬盘和带宽资源。 下载CentOS镜像:访问CentOS官方网站(https://www.centos.org/download/ ),根据服务器架构选择合适的CentOS版本(如CentOS 7或CentOS 8)进行下载。一般来说,CentOS 7的兼容性和稳定性较好,是目前使用较为广泛的版本。 安装CentOS系统 云服务器:在云服务器管理控制台中,找到服务器的“重装系统”或“更换系统盘”功能,选择上传的CentOS镜像文件,按照提示完成系统安装。安装过程中,需设置root用户密码等基本信息。 物理服务器:将下载好的CentOS镜像刻录到U盘或光盘,通过服务器的BIOS设置从U盘或光盘启动,按照安装向导逐步进行操作。包括选择安装语言、分区磁盘(可选择自动分区或手动分区,手动分区能更好地根据需求分配磁盘空间)、设置网络信息等。 三、基础环境配置 更新系统:使用SSH工具(如PuTTY、Xshell)连接到CentOS服务器,以root用户登录。执行以下命令更新系统软件包: yum update -y该命令会自动下载并安装系统中所有可用的更新,“-y”参数表示自动确认所有安装提示,避免手动输入确认。 设置防火墙:CentOS 7默认使用firewalld作为防火墙管理工具。若要开放Web服务常用端口(如80端口用于HTTP协议,443端口用于HTTPS协议),可执行以下命令: firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --reload第一条和第二条命令分别将80端口和443端口永久添加到防火墙规则中,第三条命令用于重新加载防火墙配置,使新规则生效。如果服务器使用的是其他防火墙工具(如iptables),则需使用相应的命令进行端口开放操作。 关闭SELinux(可选):SELinux(Security - Enhanced Linux)是Linux系统的一个安全子系统,用于增强系统的安全性。但在某些情况下,它可能会对网站运行造成干扰。若要临时关闭SELinux,可执行以下命令: setenforce 0若要永久关闭SELinux,需编辑配置文件/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后重启服务器使配置生效。不过,在生产环境中,建议谨慎操作,最好通过调整SELinux策略来解决问题,而不是直接关闭它。 四、安装Web服务器软件 (一)安装Nginx 添加Nginx官方源:执行以下命令添加Nginx的官方软件源: rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm该命令会安装Nginx的源文件,方便后续通过yum命令安装和更新Nginx。 安装Nginx:添加源后,执行以下命令安装Nginx: yum install -y nginx 启动和设置开机自启:安装完成后,使用以下命令启动Nginx服务,并设置为开机自启: systemctl start nginx systemctl enable nginx 验证安装:在浏览器中输入服务器的IP地址,如果看到Nginx默认的欢迎页面,说明Nginx安装成功。 (二)安装Apache 安装Apache:执行以下命令安装Apache: yum install -y httpd 启动和设置开机自启:安装完成后,使用以下命令启动Apache服务,并设置为开机自启: systemctl start httpd systemctl enable httpd 验证安装:同样在浏览器中输入服务器的IP地址,若显示Apache默认页面,则表示安装成功。 五、安装PHP 添加PHP源:以安装PHP 7.4为例,执行以下命令添加Remi源,该源提供了丰富的PHP版本和扩展: yum install -y epel-release yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-config-manager --enable remi-php74 安装PHP及常用扩展:执行以下命令安装PHP和一些常用的扩展,如php-fpm(PHP FastCGI进程管理器)、php-mysqlnd(用于连接MySQL数据库)、php-gd(用于图像处理)等: yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml php-pear php-zip 启动和设置开机自启PHP - FPM:安装完成后,使用以下命令启动PHP - FPM服务,并设置为开机自启: systemctl start php-fpm systemctl enable php-fpm 配置Nginx或Apache与PHP的连接 Nginx与PHP的连接配置:编辑Nginx的虚拟主机配置文件(一般位于/etc/nginx/conf.d/目录下),在server块中添加以下内容: location ~ \.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }上述配置中,root指定了网站根目录,fastcgi_pass指定了PHP - FPM的监听地址和端口(默认是127.0.0.1:9000),fastcgi_param设置了传递给PHP脚本的参数。修改配置后,需执行systemctl restart nginx命令重启Nginx服务使配置生效。 Apache与PHP的连接配置:编辑Apache的配置文件/etc/httpd/conf/httpd.conf或在/etc/httpd/conf.d/目录下创建新的配置文件,添加以下内容: AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps上述配置告诉Apache如何处理PHP文件。修改后,执行systemctl restart httpd命令重启Apache服务。 六、安装数据库(以MySQL为例) 添加MySQL官方源:执行以下命令添加MySQL的官方软件源: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 安装MySQL:添加源后,执行以下命令安装MySQL服务器: yum install -y mysql-community-server 启动和设置开机自启:安装完成后,使用以下命令启动MySQL服务,并设置为开机自启: systemctl start mysqld systemctl enable mysqld 初始化MySQL:执行以下命令初始化MySQL,设置root用户密码等安全配置: mysql_secure_installation按照提示输入密码、选择是否删除匿名用户、禁止root用户远程登录、删除测试数据库等操作。 登录MySQL并创建数据库:执行mysql -u root -p命令,输入密码登录MySQL。然后执行以下命令创建一个新的数据库和用户(假设数据库名为your_database,用户名为your_user,密码为your_password): CREATE DATABASE your_database; CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'localhost'; FLUSH PRIVILEGES; 七、部署网站 上传网站文件:将网站的源代码上传到服务器的网站根目录(Nginx默认根目录为/var/www/html,Apache默认根目录为/var/www/html)。可以使用FTP工具(如FileZilla)通过SFTP协议连接到服务器,将文件上传;也可以使用scp命令在本地和服务器之间传输文件,例如: scp -r /local/path/* root@server_ip:/var/www/html/其中/local/path/是本地网站文件所在目录,server_ip是服务器的IP地址。 配置网站:根据网站的需求,修改网站的配置文件,如数据库连接配置等。如果是基于PHP的网站,通常在网站的配置文件中设置数据库的名称、用户名、密码等信息。 测试网站:在浏览器中输入服务器的IP地址或绑定的域名,访问网站,检查网站是否能够正常运行,功能是否正常。如果出现错误,需根据错误提示信息,检查Web服务器、PHP、数据库等相关配置和网站代码,进行调试和修复。 通过以上步骤,你就可以在CentOS服务器上不安装面板完成网站的搭建。整个过程虽然相对复杂,但能够让你深入了解服务器和网站运行的原理,方便后期进行更精细的优化和管理。