从零开始配置Nginx,各种配置实例

在这里插入图片描述

案例1:通过Nginx搭建静态网站,基于IP过滤设置用户访问限制

实验环境

虚拟机server1作为Nginx服务器。

步骤

Step 1:修改配置文件
在server1中:

cd /usr/local/nginx
cd conf/
vim nginx.conf

Step 2:编辑Nginx配置文件
打开nginx.conf文件,添加以下配置:

server {
    listen 80;
    server_name server1;

    location / {
        autoindex on;
        allow 192.168.1.0/24;  # 允许此IP段访问
        deny all;              # 默认拒绝所有访问

        if ($remote_addr !~ "192.168.1.") {
            return 403;        # 如果IP不在允许的范围内,返回40
### Nginx 常用配置示例与参数说明 #### 1. server 块中的常用参数 `server` 是 Nginx 中用于定义虚拟主机的关键部分,以下是常用的 `server` 参数及其作用: - **listen**: 指定服务器监听的端口号。例如:`listen 80;` 表示监听 HTTP 的标准端口[^2]。 - **server_name**: 设置服务器的域名或 IP 地址。例如:`server_name example.com;` 可以绑定到特定的域名或 IP 地址。 #### 2. location 块中的常用参数 `location` 块用于匹配 URL 并应用相应的处理逻辑。常见的参数如下: - **root**: 指定网站的根目录路径。例如:`root /var/www/html;` 将 `/` 路径映射到该目录下的文件。 - **alias**: 类似于 `root`,但它会替换匹配的部分路径。例如,在子路由部署 React 应用时使用的 `alias` 配置[^1]: ```nginx location ^~ /anan/ { alias /usr/local/nginx/html/anan/; try_files $uri $uri/ /anan/index.html; index index.html; } ``` - **try_files**: 当访问某个 URI 不存在时尝试其他替代资源。例如:`try_files $uri $uri/ /anan/index.html;` 确保即使刷新页面也不会返回 404 错误[^1]。 - **index**: 设置默认索引文件名。例如:`index index.html index.htm;` 定义了当用户访问目录时不带具体文件名时加载哪些文件作为首页[^2]。 #### 3. 日志相关配置 Nginx 支持灵活的日志记录方式,可以通过以下指令实现: - **log_format**: 自定义日志格式。例如: ```nginx log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; ``` 这里定义了一个名为 `main` 的日志格式,包含了客户端地址、请求方法、状态码等信息[^4]。 - **access_log**: 记录访问日志的位置和格式。例如: ```nginx access_log /usr/local/etc/nginx/logs/host.access.log main; ``` 上述语句表示将访问日志保存至指定位置并采用之前定义好的 `main` 格式[^4]。 - **error_log**: 记录错误日志的位置和级别。例如: ```nginx error_log /home/log/nginx/www.anan.com.log warn; ``` #### 4. 性能优化相关配置 为了提升性能,通常还会加入一些额外选项: - **gzip**: 启用压缩传输来减少网络流量消耗。例如: ```nginx gzip on; ``` 此命令开启 Gzip 压缩功能。 #### 5. http 块的作用 `http` 块位于全局上下文中,主要用于封装多个 `server` 实体以及其他高级特性,比如代理转发、缓存管理、日志定制等功能。它还可以用来引入外部配置文件或者调整 MIME 类型支持范围等[^5]。 ```nginx http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } ``` 以上是一个典型的最小化 Nginx 配置实例,展示了如何通过组合不同层次上的指令完成基本服务搭建工作流程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ztxlearning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值