iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Nginx常用的基础配置方案
  • 375
分享到

Nginx常用的基础配置方案

2023-06-04 07:06:53 375人浏览 八月长安
摘要

本篇内容主要讲解“Nginx常用的基础配置方案”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Nginx常用的基础配置方案”吧!Nginx的fastcgi模块参数设置Nginx 有两个配置文件fa

本篇内容主要讲解“Nginx常用的基础配置方案”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Nginx常用的基础配置方案”吧!

Nginx的fastcgi模块参数设置

Nginx 有两个配置文件fastcgi_params、fastcgi.conf,两者唯一的区别是,fastcgi.conf 多一个参数 SCRIPT_FILENAME,diff显示如下:

$diff fastcgi fastcgi_params< fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;vim 进入/usr/local/nginx/conf/fastcgi_params文件#请求的参数;如?app=123fastcgi_paramfastcgi_param QUERY_STRING $query_string;##请求的动作(GET,POST)fastcgi_param REQUEST_METHOD $request_method;#请求头中的Content-Type字段fastcgi_param CONTENT_TYPE $content_type;#请求头中的Content-length字段fastcgi_param CONTENT_LENGTH $content_length;#脚本名称fastcgi_param SCRIPT_NAME $fastcgi_script_name;#请求的地址不带参数fastcgi_param REQUEST_URI $request_uri;#与$uri相同fastcgi_param DOCUMENT_URI $document_uri;#网站的根目录。在server配置中root指令中指定的值fastcgi_param DOCUMENT_ROOT $document_root;#请求使用的协议,通常是Http/1.0或HTTP/1.1fastcgi_param SERVER_PROTOCOL $server_protocol;#https 如果value非空才进行设置fastcgi_param HTTPS $https if_not_empty;#cgi 版本fastcgi_param GATEWAY_INTERFACE CGI/1.1;#nginx 版本号,可修改、隐藏fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;#客户端IPfastcgi_param REMOTE_ADDR $remote_addr;#客户端端口fastcgi_param REMOTE_PORT $remote_port;#服务器IP地址fastcgi_param SERVER_ADDR $server_addr;#服务器端口fastcgi_param SERVER_PORT $server_port;#服务器名,域名在server配置中指定的server_namefastcgi_param SERVER_NAME $server_name;可自定义变量fastcgi_param PATH_INFO $path_info;#在尾部另起一行追加即可保存跟fastcgi.conf 一致fastcgi_param REDIRECT_STATUS 200;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;在PHP可打印出上面的服务环境变量如:echo $_SERVER[‘REMOTE_ADDR’]

Nginx的常用指令解释

fastcgi_pass这个命令是指定将http代理到哪个fastcgi服务端接口。fastcgi_pass后面是填写fastcgi服务端地址的,这个地址可以是域地址,也可以是Uninx-域套接字, 另外也可以是upstream中设置的反向代理。fastcgi_pass localhost:9000; #默认php起在9000端口fastcgi_pass unix:/tmp/fastcgi.Socket;fastcgi_pass upstream_php5; #这里指定的反向代理可以在nginx.conf中upstream中设置fastcgi_param这个命令是设置fastcgi请求中的参数,默认参数在上面提到的fastcgi模块参数文件中,具体设置的东西可以在$_SERVER中获取到。比如你想要设置当前的机器环境,可以使用fastcgi_param ENV test;来设置。对于php来说,最少需要设置的变量有:fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;fastcgi_param QUERY_STRING $query_string;fastcgi_index这个命令设置了fastcgi默认使用的脚本。就是当SCRIPT_FILENAME没有命中脚本的时候,使用的就是fastcgi_index设置的脚本。fastcgi_index index.php;

以上三个命令能组成最基本的fastcgi设置了:

location / {fastcgi_pass localhost:9000;fastcgi_index index.php;#下面这一个可以直接在fastcgi_param配置文件中指定fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;fastcgi_param QUERY_STRING $query_string;fastcgi_param REQUEST_METHOD $request_method;fastcgi_param CONTENT_TYPE $content_type;fastcgi_param CONTENT_LENGTH $content_length;}

图片(或者静态文件)服务器配置

server {listen 80;server_name images.xxx.com img.movie.xxx.com;root /data/vhosts/xxx.com/images/public_html/;index index.shtml index.html index.htm;#如果是jsCSSJSON文件可以指定压缩来减少传输文件大小gzip_types text/plain application/x-javascript text/css application/xml text/xml application/json;}

基础服务器

server {listen 80;server_name www.xxx.com;root /data/vhosts/xxxx.com/public_html/;index index.htm index.php index.html index.shtml;location / {ssi on;ssi_silent_errors on;ssi_types text/shtml;include other.conf; #这里可以配置其他的公共配置,或者重写规则}location ~\.php$ {expires off;include fastcgi_params; #fastcgi 指定的参数配置fastcgi_pass 127.0.0.1:9000; #这里同上也可指定代理或socketfastcgi_index index.php;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;}

配置ssi_inclue访问的目录不存在是指定的目录

location ~ /ssi_include/ {if (!-e $request_filename) {rewrite ^(.*)$ /blank.html last;}}

配置静态文件默认的错误页面

location ~(\.html|\.htm|\.shtml)$ {error_page 404 500 502 503 504 /404.html;}}

Auth权限设置

step 1. 在根域名下面需要配置权限的目录设置location

location /phpMyAdmin/ {allow 192.168.0.1;allow xx.xx.xxx.xxx;allow xx.xx.xxx.xxx;deny all;auth_basic "Restricted";auth_basic_user_file /usr/local/nginx/conf/auth_phpmyadmin.pass;}

step2. 在 auth_basic_user_file 指定的文件下面增加账号密码,一行一个

username1:passWord1username2:password2username3:password3username4:password4

Nginx反向代理

第一种反向代理:

location / {proxy_pass http://192.168.1.4:8099/;#若针对不同的目录进行代理把下面的配置放到根目录代理的上面#proxy_pass http://192.168.1.4:8099/linuxtone/;proxy_redirect default ;}

第二种反向代理:

upstream配置upstream xx.xxx.com {server 192.168.1.4:8099;}

站点配置文件

server{listen 80;server_name bbs.linuxtone.conf;index index.html index.htm;root /date/vhosts/xxx.com/;location ~ ^/NginxStatus/ {stub_status on;access_log off;}
location / {proxy_redirect off ;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 50m; #缓冲区代理缓冲用户端请求的最大字节数,可以理解为保存到本地再传给用户client_body_buffer_size 256k;proxy_connect_timeout 30; #nginx跟后端服务器连接超时时间(代理连接超时)proxy_send_timeout 30;proxy_read_timeout 60; #连接成功后,后端服务器响应时间(代理接收超时)proxy_buffer_size 256k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小proxy_buffers 4 256k; #proxy_buffers缓冲区,网页平均在256k以下的话,这样设置proxy_busy_buffers_size 256k;proxy_temp_file_write_size 256k;proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;proxy_max_temp_file_size 128m;proxy_ignore_client_abort on; #不允许代理端主动关闭连接#http://xx.xxx.com 指上面upstream块的名称proxy_pass http://xx.xxx.com;}

Apache反向代理

#设置该域名转发给8080端口

ServerAdmin WEBmaster@dummy-host2.example.comServerName www.xxx.comProxyRequests offOrder deny,allowAllow from allProxyPass / http://www.xxx.com:8080/ProxyPassReverse / http://www.xxx.com:8080/

ProxyPassReverse一般和ProxyPass指令配合使用,此指令使Apache调整HTTP重定向应答中Location, Content-Location, URI头里的URL,这样可以避免在Apache作为反向代理使用时,。后端服务器的HTTP重定向造成的绕过反向代理的问题

禁止蜘蛛访问

#判断UA,如果UA不包含spider或者bot(不区分大小写),表示UA为正常用户

#设置变量is_human值为yes

if ($http_user_agent !~* "spider|bot") {set $is_human 'yes';}

#当有任意请求的时候,该UA不是正常用户,则表示应该是蜘蛛类程序,则返回403

location / {if ($is_human != 'yes') {return 403;}}

#当有任意请求的时候

location / {#当访问者UA包含有spider或则bot的时候(不区分大小写),说明是蜘蛛类来访if ($http_user_agent ~* "spider|bot") {# 直接就屏蔽蜘蛛的整站访问return 403;}}

给系统添加了robots.txt文件:

User-agent: *Disallow: /

到此,相信大家对“Nginx常用的基础配置方案”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Nginx常用的基础配置方案

本文链接: https://www.lsjlt.com/news/236954.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Nginx常用的基础配置方案
    本篇内容主要讲解“Nginx常用的基础配置方案”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Nginx常用的基础配置方案”吧!Nginx的fastcgi模块参数设置Nginx 有两个配置文件fa...
    99+
    2023-06-04
  • Nginx安装后常用功能配置基础篇
    目录1.主配置文件与虚拟主机分离利用server模块创建www和bbs两个虚拟站点2.虚拟主机别名设置3.Nginx status状态信息配置4.增加错误日志1.主配置文件与虚拟主机...
    99+
    2024-04-02
  • nginx常用配置
    目录 1、全局块 2、events块 3、http块 3.1、http基本配置 3.2、http反向代理基本配置 3.3、http反向代理服务器和负载均衡 3.4、http_gzip配置 3.5、server相关配置 3.5.1、serv...
    99+
    2023-09-07
    nginx 运维 服务器
  • 个人服务器常用基础配置
    买了一个服务器,系统是CentOS7.2 .做了一番基础设置,在此记录一下。 更新 yum 源仓库 yum update 安装 Git yum 源仓库里最新版本的 Git 是 1.8.3.1,但是官方最新版本已经到了 2.9.2。想要安装...
    99+
    2023-01-31
    常用 服务器 基础
  • Nginx常用配置及和基本功能讲解
    Nginx是一个高性能的Web服务器和反向代理服务器,常用于构建高可用、高并发的Web应用。下面是Nginx的常用配置及基本功能的讲...
    99+
    2023-09-20
    Nginx
  • Nginx基础location语法及功能配置实例
    目录1.Nginx location1.1.location作用1.2.location语法1.3.location匹配示例1.4.location配置实例1.5.不用uri及特殊字...
    99+
    2024-04-02
  • 小白入门使用Nginx基础的常用操作
    nginx启动,重启,关闭命令...
    99+
    2023-06-05
  • Nginx的一些常用配置汇总
    目录Nginx配置文件结构Nginx日志切割root 与 alias使用GZIP压缩提升请求效率location匹配规则解析使用SwitchHosts模拟本地域名解析Nginx跨域配...
    99+
    2024-04-02
  • Nginx各个模块的配置及常用配置选项
    目录Nginx Location配置请求转发和重定向Nginx静态文件配置文件下载服务器Nginx配置HTTPSNginx日志配置Nginx超时设置请求超时设置Proxy反向代理超时...
    99+
    2024-04-02
  • Nginx的几个常用配置和技巧
    文章列举了几个Nginx常见的,实用的,有趣的配置,希望看过之后能说一句:学到了!一个站点配置多个域名server {    listen    &n...
    99+
    2023-06-03
  • 永中文档在线转换预览基于nginx配置部署方案
    目录永中文档在线转换预览双活实现方案实现目标环境准备1、网络架构2、实验服务器分布3、redis3.1 配置redis3.2 启动redis4、nfs4.1 配置nfs4.2 启动n...
    99+
    2024-04-02
  • Nginx常用配置及代理转发
    Nginx配置及代理转发 nginx配置:配置分离:Nginx配置静态资源:Nginx配置转发其他应用:Nginx配置跨域访问:Nginx配置域名通配符访问:Nginx配置https:Nginx配置不同终端的转发: nginx配...
    99+
    2023-08-21
    nginx 服务器 运维
  • 超实用 nginx 中常见的配置合集
    ✨ 目录 🎈 封禁 IP🎈 仅开放内网🎈 负载均衡🎈 列出文件列表🎈 路由转发🎈 开启...
    99+
    2023-09-04
    nginx 服务器 运维 经验分享 原力计划
  • Nginx与PHP基本运行原理与fpm常见配置
    一次Web请求的处理流程 名词解释 php常用配置 php.ini(php) php-fpm FPM(FastCGI 进程管理器)是 PHP FastCGI 的主要实现,包含大部分对高负载网站有用的功能。 它的功能包括: 支持平...
    99+
    2023-10-10
    nginx php
  • Nginx配置文件nginx.conf的基本配置实例详解
    目录前言1. Nginx配置样例2. Nginx负载均衡方式2.1 轮询2.2 权重2.3 Nginx解决集群共享session问题的方案3. Nginx动静分离(静态资源...
    99+
    2024-04-02
  • 超实用的Nginx常见配置合集分享
    目录封禁 IP仅开放内网负载均衡列出文件列表路由转发开启 gzip 压缩解决跨域资源防盗链Keepalived 提高吞吐量HTTP 强制跳转 HTTPS封禁 IP 通过 deny 可...
    99+
    2024-04-02
  • Python基础之常用库常用方法整理
    目录一、os二、configparser三、openpyxl四、loguru五、time六、unittest一、os __file__ 获取当前运行的.py文件所在的...
    99+
    2024-04-02
  • Spring中xml配置文件的基础使用方式详解
    目录1. xml配置文件的读取1.1 通过类路径读取配置文件1.2 通过文件系统绝对路径读取配置文件1.3使用BeanFactory接口读取配置文件2.带参构造对象的创建(const...
    99+
    2024-04-02
  • nginx常用配置conf的示例代码详解
    nginx常用配置conf 代理静态文件 # 静态文件 server { # 压缩问价你配置 gzip on; gzip_min_length 1k; ...
    99+
    2024-04-02
  • Python基础之标准库和常用的第三方库案例教程
    Python基础:标准库和常用的第三方库 Python的标准库有: 名称 作用 ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作