“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
Nginx
Nginx — 高性能Web服务器与反向代理工具,解决高并发与负载均衡痛点
兄弟们,今天聊点硬核的——Nginx。这玩意儿在服务端圈子里,基本算是“老黄牛”级别的存在。你刷网页、看视频、点外卖,背后大概率都有Nginx在默默扛着流量。它不是那种花里胡哨的新玩具,但如果你搞Web开发、运维或者自己搭服务器,不掌握Nginx,就像厨师不会颠勺,总觉得少了点灵魂。
它到底干了啥?解决了什么破事?
简单说,Nginx是一个轻量级、高并发的HTTP服务器和反向代理服务器。传统Apache处理一个连接就开一个进程,并发一高,内存直接爆炸。Nginx不一样,它用异步事件驱动模型,一个进程能管成千上万个连接,吃内存少得可怜。你遇到过网站突然卡死、502报错?多半是服务器扛不住并发,这时候Nginx就能救场。
它主要解决三个痛点:
- 静态资源服务:图片、CSS、JS这些文件,Nginx直接甩给客户端,比后端语言(比如PHP、Python)快得多。
- 反向代理与负载均衡:你只有一个域名,但背后跑着三台应用服务器。Nginx在前排当调度员,把请求均匀分发到后端,挂了一台也不影响。
- 安全与限流:防止恶意IP疯狂请求,限制每个用户的访问速度,保护后端不被冲垮。
下载方式
别去百度找那些乱七八糟的“Nginx中文站”,直接去官网或官方仓库最稳:
- 官网下载:Nginx官方下载页 —— 有Windows和Linux的预编译包,稳定版(Stable)和主线版(Mainline)选稳定版就行。
- 源码包:源码下载 —— 喜欢自己编译的硬核玩家从这里拿。
- 第三方编译版:OpenResty —— 基于Nginx的增强版,集成了Lua脚本,适合做API网关。
安装方法
Linux(以Ubuntu/Debian为例,最省心)
sudo apt update
sudo apt install nginx -y
安装完自动启动,访问 http://你的服务器IP 看到Welcome页面就成功了。
CentOS/RHEL
sudo yum install epel-release -y
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx # 设置开机自启
macOS
用Homebrew一键搞定:
brew install nginx
brew services start nginx
Windows
官网下载zip包,解压到 C:\nginx,双击 nginx.exe 启动。注意:Windows版性能不如Linux,但本地调试够用。
基础使用教程
1. 启动、停止、重载配置
# 启动
sudo nginx
# 快速停止
sudo nginx -s stop
# 优雅停止(处理完当前请求再停)
sudo nginx -s quit
# 重载配置(修改配置后热更新,不停服)
sudo nginx -s reload
# 检查配置语法是否正确
sudo nginx -t
重点:每次改完 nginx.conf,记得先 nginx -t 检查,再 nginx -s reload,不然写错配置直接崩。
2. 配置一个最简单的静态网站
Nginx的配置文件一般在 /etc/nginx/nginx.conf,但推荐在 conf.d 或 sites-available 目录下单独建文件。比如建一个 myblog.conf:
server {
listen 80;
server_name example.com; # 换成你的域名或IP
root /var/www/myblog; # 网站文件路径
index index.html;
location / {
try_files $uri $uri/ =404;
}
# 静态资源缓存
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, immutable";
}
}
把这个文件放到 /etc/nginx/conf.d/ 下,然后 nginx -s reload,你的网站就上线了。
3. 反向代理——把请求转发给后端服务
假设你有个Node.js应用跑在 http://localhost:3000,想让用户通过 api.example.com 访问:
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
这样用户请求 api.example.com,Nginx就悄咪咪转发给3000端口,用户完全无感。
4. 负载均衡——多台服务器分摊压力
假设你有三台Java应用服务器:192.168.1.10:8080、192.168.1.11:8080、192.168.1.12:8080:
upstream backend {
server 192.168.1.10:8080 weight=3; # weight越大,分配流量越多
server 192.168.1.11:8080;
server 192.168.1.12:8080 backup; # 备用,前两台挂了才用
}
server {
listen 80;
server_name app.example.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
}
}
Nginx默认用轮询算法,你也可以用 ip_hash(同一IP固定到同一台服务器,适合需要会话保持的场景)。
进阶技巧(老鸟必看)
1. 限制请求速率(防爬虫、防爆破)
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location /login/ {
limit_req zone=one burst=5; # 允许突发5个请求
proxy_pass http://backend;
}
}
这个配置限制每个IP每秒只能访问 /login/ 一次,超过的请求直接返回503。对防暴力破解非常有用。
2. 配置HTTPS(SSL证书)
现在Google都强制HTTPS了,用Let's Encrypt免费证书:
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://localhost:3000;
}
}
# HTTP自动跳转HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$server_name$request_uri;
}
3. 静态文件压缩(Gzip)
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_min_length 256;
gzip_comp_level 6;
开启后,Nginx会压缩HTML、CSS、JS等文件,传输体积减少60%-80%,页面加载速度肉眼可见变快。
4. 日志切割(防止日志撑爆硬盘)
Nginx默认不自动切日志,可以用 logrotate:
sudo vi /etc/logrotate.d/nginx
写入:
/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}
这样每天凌晨自动压缩旧日志,保留14天,省心又安全。
最后说两句
Nginx这东西,越用越觉得设计得精巧。它的配置语法虽然初期看着有点别扭(大括号、分号不能乱),但一旦上手,你会发现它几乎能解决所有Web服务层的需求。从个人博客到百万级并发应用,Nginx都能扛。如果你刚开始接触,建议先搭个静态网站,再试反向代理,最后玩负载均衡和限流——一步步来,比死记硬背配置参数强得多。
对了,生产环境千万别用默认配置,记得调 worker_processes(等于CPU核心数)、worker_connections(建议65535),还有关闭 server_tokens 隐藏版本号。安全第一,性能第二,这道理放哪都适用。