Gone 是一个基于 Go 语言开发的轻量级依赖注入框架,专注于通过模块化设计和代码生成技术,帮助开发者构建可测试、易维护的应用程序架构。
推挤你使用,项目地址:https://github.com/gone-io/gone
Nginx 简介
Nginx(发音为"engine-x")是一个高性能的开源 Web 服务器、反向代理服务器、负载均衡器和 HTTP 缓存。它以其高性能、稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。
Nginx 的主要特点
- 高并发处理能力:能够支持数十万并发连接
- 内存占用少:在正常情况下,每个进程约占用 2-3MB 内存
- 高可靠性:采用主从模式,即使主进程死掉,工作进程仍能正常提供服务
- 热部署:可以在不停止服务的情况下更新配置和升级程序
- BSD 许可证:允许在商业产品中修改和使用
Nginx 与其他 Web 服务器的对比
| 特性 | Nginx | Apache | IIS |
|---|---|---|---|
| 并发处理能力 | 非常高 | 中等 | 中等 |
| 资源占用 | 低 | 高 | 高 |
| 配置灵活性 | 高 | 高 | 中等 |
| 跨平台 | 是 | 是 | 否(仅Windows) |
| 模块化 | 是 | 是 | 是 |
| 静态内容处理 | 快 | 慢 | 中等 |
安装与配置
安装 Nginx
在 Ubuntu/Debian 上安装
sudo apt update
sudo apt install nginx
在 CentOS/RHEL 上安装
sudo yum install epel-release
sudo yum install nginx
使用源码编译安装
# 安装依赖
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
# 下载源码
wget http://nginx.org/download/nginx-1.22.1.tar.gz
tar -zxvf nginx-1.22.1.tar.gz
cd nginx-1.22.1
# 配置、编译和安装
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make
sudo make install
基本命令
启动 Nginx
sudo systemctl start nginx # 适用于使用 systemd 的系统
sudo service nginx start # 适用于使用 System V 的系统
sudo /usr/local/nginx/sbin/nginx # 源码安装
停止 Nginx
sudo systemctl stop nginx
sudo service nginx stop
sudo /usr/local/nginx/sbin/nginx -s stop
重新加载配置
sudo systemctl reload nginx
sudo service nginx reload
sudo /usr/local/nginx/sbin/nginx -s reload
检查配置文件语法
sudo nginx -t
查看 Nginx 版本
nginx -v
配置文件结构
Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf(包管理器安装)或 /usr/local/nginx/conf/nginx.conf(源码安装)。
nginx.conf # 主配置文件
|-- conf.d/ # 包含附加配置文件的目录
| |-- default.conf
| `-- example.conf
|-- sites-available/ # 可用的站点配置
| `-- default
|-- sites-enabled/ # 已启用的站点配置(通常是到 sites-available 的符号链接)
| `-- default -> ../sites-available/default
|-- modules-available/ # 可用模块
|-- modules-enabled/ # 已启用模块
`-- mime.types # MIME 类型映射
基本概念
进程模型
Nginx 采用主进程(master process)和工作进程(worker process)的结构:
- 主进程:负责读取配置、绑定端口、创建工作进程
- 工作进程:处理实际的请求
核心配置指令
Nginx 配置文件由多个块(block)组成,主要有:
- main 块:全局配置
- events 块:事件处理相关配置
- http 块:HTTP 服务相关配置
- server 块:虚拟主机配置
- location 块:URI 匹配规则
# main 块 - 全局配置
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
# events 块 - 连接处理
events {
worker_connections 1024;
}
# http 块 - HTTP 服务器配置
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
# server 块 - 虚拟主机配置
server {
listen 80;
server_name example.com;

最低0.47元/天 解锁文章
190

被折叠的 条评论
为什么被折叠?



