Nginx

分类下相关文章

nginx 中禁用 css, js,图片等静态资源的日志记录

对于网站的 nginx 日志,三分之二以上是 css js 及图片等静态文件的访问日志。 禁用静态文件日志的好处 提升 IO 性能,避免无意义的写入磁盘操作 便于实时查看 nginx 日志 禁用方法 修改全局 nginx.conf 文件 log_format compression '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" &qu ...

阅读全文...

ubuntu 20.04 禁止 apache 开机自启动

ubuntu 20.04 server 重启之后,发现 nginx 没有自启动。 而手动启动 nginx,报错,显示 80 端口被占用。 $ sudo nginx [sudo] password for xxx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) nginx: [emerg] bind() to [::]:80 failed (98: Address already in use) 排查 无疑,很大概率系统预装了 apache。可能系统重启时,apache 先于 nginx 启动, ...

阅读全文...

certbot 安装证书报错:The requested nginx plugin does not appear to be installed

系统环境 Ubuntu 20.04 报错信息 # certbot --nginx Saving debug log to /var/log/letsencrypt/letsencrypt.log The requested nginx plugin does not appear to be installed 解决方法 sudo apt install python3-certbot-nginx 然后重新执行 certbot --nginx ...

阅读全文...

Nginx 多配置文件放哪个目录好,sites-available/enabled 与 conf.d 对比

从 nginx.conf 的 http block 配置来看,ubuntu 20.04 apt 安装的 nginx 默认引入了两个配置目录: include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; sites-available & sites-enabled 以前就知道,但是 conf.d 还是第一次注意到。 之所以会注意到 conf.d 是因为在 stackoverflow 上看到一个讨论 https://serverfault.com/questions/527630/difference-in ...

阅读全文...

ubuntu 20.04 apt install nginx-core/light/full 的区别

在新购的服务器系统 Ubuntu 20.04 上部署生产环境。想通过 apt 安装 nginx,发现提示中有N个选项: $ nginx Command 'nginx' not found, but can be installed with: apt install nginx-core # version 1.18.0-0ubuntu1, or apt install nginx-extras # version 1.18.0-0ubuntu1 apt install nginx-full # version 1.18.0-0ubuntu1 apt install ngin ...

阅读全文...

设置 Nginx 规则以屏蔽指定 User Agent 的网站爬虫

晚上我的一个 wordpress 网站再一次被可恶的爬虫爬挂了。。。 对方疯狂的爬取网页,且瞬间并发无数个请求,丝毫不考虑我这孱弱的阿里云低配服务器的小身板能否承受住。不出意外,我的网站挂掉了。。。 没办法,必须得处理一下。 看了一下 nginx 日志中这些爬虫的请求记录: 每 10 个请求一换 IP 请求头都为 "Scrapy/1.7.3 (+https://scrapy.org)" 所以通过 IP 规则来屏蔽是不可能了,可以简单地用 User Agent 匹配规则的方式来屏蔽这些爬虫。 Nginx 配置 顺便把 Yisou 的爬虫屏蔽了。 if ($http_use ...

阅读全文...

certbot 自动配置 HTTPS 证书时,指定 nginx 配置文件路径

今天在一台 CentOS 7.3 的服务器上配置新网站域名的 HTTPS 证书,Web Server 用的 Nginx。 certbot 提示 nginx.conf 文件找不到。 # certbot --nginx Saving debug log to /var/log/letsencrypt/letsencrypt.log Error while running nginx -c /etc/nginx/nginx.conf -t. nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file ...

阅读全文...

kangle 的基本配置

查看 kangle 的版本号 /vhs/kangle/bin/kangle -v kangle/3.5.8(free) build with support: ipv6 ssl[SN] large-file http2 disk-cache sqlite-disk-index ksapi-filter pcre version: 7.8 2008-09-05 openssl version: OpenSSL 1.0.1e-fips 11 Feb 2013 kangle 设置开机自启动 vim /etc/rc.local 在文件最后缀上 /vhs/kangle/bin/kangle kang ...

阅读全文...

查找 apache 配置文件的位置

首先确认 apache 进程的启动目录 ps axuw | grep apache /www/server/apache/bin/httpd -k start 执行: /www/server/apache/bin/httpd -V Server compiled with.... -D SERVER_CONFIG_FILE="conf/httpd.conf" 查看 apache 主配置文件 vim /www/server/apache/conf/httpd.conf 找到配置 IncludeOptional /www/server/panel/vhost/apac ...

阅读全文...

使用 AWK 格式化 Nginx 日志

awk 命令最让人头疼的地方是,只要一个月不用,立马忘掉命令参数。 例如,我想查看访问了接口 A 的所有请求的手机品牌。 grep api_a /var/log/nginx/sunzhongwei_access.log | awk '{print $4, $7, $14, $15, $16, $17}' [25/May/2019:08:50:20 /api/api_a Android 8.0.0; MIX Build/OPR1.170623.032; [25/May/2019:08:57:52 /api/api_a Android 8.1.0; MI 8 [25/May/2019:08:58: ...

阅读全文...

阿里云 Nginx SSL 证书配置

申请免费的阿里云 SSL 证书 首先参考这里申请一个免费的阿里云 SSL 证书 七牛云 CDN SSL 证书过期处理 Nginx 配置 将 Nginx 对应的证书下载到服务器上,配置参考 server { listen 80; server_name xxx.sunzhongwei.com; return 301 https://xxx.sunzhongwei.com$request_uri; } server { listen 443; server_name xxx.sunzhong ...

阅读全文...

Nginx 下 HTTPS 域名错乱的问题

我的博客服务器上,除了 https://www.sunzhongwei.com 这个网站之外,还有一些其他的网站,用的其他的域名。 但是,在 为博客启用了 HTTPS 之后,今天看百度统计的实时访客,看到了一个奇怪的问题。即通过 https://some-other-domain.com/some-url 来访问对应的 https://www.sunzhongwei.com/some-url 结果就是 Google 浏览器显示了一个安全警告页面,认为这是一个不安全的网页。因为我只配置了 www.sunzhongwei.com 的 SSL 证书,其他域名并没有配置。 解决方法 在 Certbo ...

阅读全文...

Windows WSL 中安装的 Nginx / PHP-FPM 超时问题

WSL 中搭建了一套 Nginx PHP-FPM 环境,但是在浏览器中访问 http://localhost 永远会超时。 错误日志如下 2018/11/08 09:22:49 [error] 1322#1322: *7 upstream timed out (110: Connection timed out) while reading upstream, client: 127.0.0.1, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.1-fpm. ...

阅读全文...

Nginx 直接返回终端请求 IP

直接 Nginx 配置文件中配置即可,无需代码。 location /get_ip { default_type text/plain; return 200 "$remote_addr\n"; } ...

阅读全文...

nginx + wordpress 上传图片报错 413 Request Entity Too Large

感觉每年都要处理几次这个错误。。。 现象是 wordpress 后台上传一个 1.2 M的背景图,前端显示HTTP错误。从网络请求看是后台报错了 413 错误。 413 Request Entity Too Large 解决方法是在 Nginx 对应域名的配置中添加 client_max_body_size 3m; 然后 reload nginx。 client_max_body_size 的默认大小 参考 http://nginx.org/en/docs/http/ngx_http_core_module.html Default: client_max_body_size 1m; 默 ...

阅读全文...