Nginx 是一个非常流行的 Web 服务器和反向代理服务器

Nginx 是一个非常流行的 Web 服务器和反向代理服务器,以其高性能、稳定性、丰富的功能集和低资源消耗而闻名。下面是一个简化的 Nginx 使用教程,包括基本的安装、配置和一些常见用途。

安装 Nginx

在 Ubuntu/Debian 上安装:
bash 复制代码
sudo apt update
sudo apt install nginx
在 CentOS/RHEL 上安装:
bash 复制代码
sudo yum install epel-release
sudo yum install nginx

启动和管理 Nginx

启动 Nginx:

bash 复制代码
sudo systemctl start nginx

检查状态:

bash 复制代码
sudo systemctl status nginx

重启 Nginx:

bash 复制代码
sudo systemctl restart nginx

基本配置

Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf。配置文件包含多个上下文,如 httpserver。下面是一个简单的 server 块示例:

nginx 复制代码
server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

虚拟主机配置

可以为不同的域名设置多个虚拟主机。通常,这些配置保存在 /etc/nginx/conf.d//etc/nginx/sites-available/ 目录中,并通过符号链接激活它们到 /etc/nginx/sites-enabled/

反向代理

Nginx 可以作为反向代理服务器,用于负载均衡或隐藏后端服务器。例如,以下配置将所有请求代理到后端的 PHP-FPM 服务:

nginx 复制代码
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}

SSL/TLS 配置

要启用 HTTPS,需要在 server 块中添加 SSL 相关指令:

nginx 复制代码
listen 443 ssl;
ssl_certificate /path/to/your/certificate.pem;
ssl_certificate_key /path/to/your/private.key;

日志和错误处理

Nginx 会记录访问日志和错误日志。默认情况下,日志文件位于 /var/log/nginx/access.log/var/log/nginx/error.log

进一步学习

以上只是一个非常基础的指南,Nginx 的功能远比这丰富得多。对于更高级的功能,如负载均衡、缓存、流媒体传输、API 网关等,你需要深入学习官方文档和各种在线资源。如果你有任何具体问题或需要更详细的帮助,请随时告诉我!

相关推荐
万少6 小时前
用腻了 WorkBuddy 的默认界面?这个开源小工具给它换上了毛玻璃
前端·javascript·后端
潘正翔9 小时前
docker核心概念
linux·运维·服务器·docker·容器·centos·运维开发
renhongxia110 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
海上彼尚10 小时前
Nodejs也能写Agent - 16.LangGraph篇 - 条件分支与循环
前端·后端·langchain·node.js
To_OC11 小时前
从 “卡死半天” 到 “打字机效果”:大模型流式输出前端实现全记录
前端·javascript·llm
SoaringHeart11 小时前
Flutter最佳实践:键盘辅助视图输入框天添加图片附件
前端·flutter
Dovis(誓平步青云)12 小时前
远程办公软件文件传输实测:6 款工具的速度、稳定性和办公体验对比
linux·运维·服务器·后端·生成对抗网络
专注_每天进步一点点12 小时前
SLB(绑定弹性公网ip)-gateway-业务pod,gateway上出现reset by peer,业务pod上没有reset by peer
服务器·tcp/ip·gateway
kyriewen12 小时前
我看完这篇安全论文——AI推荐的npm包,92%是编出来的
前端·javascript·ai编程