一、优化Nginx主配置文件

1、精简主配置文件

#先备份主配置文件
cp nginx.conf nginx.conf.bak
#去掉注释空行,并将内容写入一个新文件
egrep -v '#|^$' nginx.conf>nginx.conf.new
#查看新配置文件
cat nginx.conf.new

上面内容比原来的配置文件简洁多了,最好,将新文件重新命名成nginx.conf即可,

 mv nginx.conf.new nginx.conf

二、配置nginx支持PHP

修改主配置文件以支持php

#在server模块增加以下配置,如果有直接整合location,加入相应配置即可。
location ~ .*\.(php|php5)?${fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi.conf;}
location /
{root html;index index.html index.htm index.php;
}

测试访问,修改nginx默认首页文件inde.html为index.php,并增加以下内容:

<?phpphpinfo();
?>

测试访问

三、拆分主配置文件

在实际工作中,虚拟主机的数量不会是一个两个,有可能是多个,因此还需进一步优化,将主配置文件拆分成新的主配置文件和虚拟主机配置文件,具体操作如下:

1、创建虚拟主机配置文件存放目录

#一般情况创建在conf文件夹下
mkdir vhost

2、拆分主配置文件

cp nginx.conf ./vhost/www.conf
cp nginx.conf ./vhost/blog.conf

3、修改主配置文件

在主配置文件中配置使其支持vhost文件下所有.conf文件。

include vhost/*.conf;

4、修改虚拟主机文件并测试

访问测试1:123.60.208.242:81

访问测试2:123.60.208.242:82
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3xP3TDGs-1649508776716)(https://m.zhimalian.xyz/upload/2022/03/image-dfa26c9f89914b7188f3b333a0986308.png)]

四、开启日志功能

由于前面拆分主配置文件将原来默认注释的日志配置删除,因此在优化万主配置文件后,开启日志功能,以便维护排错。

#在主配置http模块增加以下内容
http{......log_format main '$remote_addr-remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';......
}
#在虚拟主机配置文件中配置以下内容
server{......   access_log 日志存放路径 定义的日志格式名;......
}

四、配置Nginx gzip压缩功能

1、全局生效配置

针对全局生效,需配置在主配置文件的http模块下;

http{......gzip on;gzip _min_leggth 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;gunzip_static on;......
}

2、单个虚拟主机配置

只针对某个虚拟机生效时,需要在相应的主配置文件参数增加内容

server{......gzip on;gzip _min_leggth 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;gunzip_static on;......
}

配置expires缓存功能

expires缓存功能配置实例:

server {listen 81;server_name  123.60.208.242;location / {root   /web/;index  index.html index.htm;access_log  /usr/local/nginx/logs/access_www.log;location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 3d; #指明时间3天root /web/;}}# 压缩配置gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml;gzip_vary on;gunzip_static on;
}

测试:
由图片可知,缓存时间3天生效。

Nginx主配置文件的优化-nginx主配置文件的优化相关推荐

  1. Nginx —— nginx的命令行控制(nginx的启动与停止、重载配置文件、回滚日志文件、平滑升级等操作)

    在linux中,需要使用命令来控制Nginx服务器的启动与停止.重载配置文件.回滚日志文件.平滑升级等行为. 默认情况下,nginx被安装在目录/usr/local/nginx中,其二进制文件路径为/ ...

  2. nginx+keepalived高可用及双主模式

    引用来源:https://www.cnblogs.com/zhxx/p/7741939.html 实验目的 主Nginx挂掉,从nginx可以立即工作 利用vrrp技术,提供vip 当主nginx挂掉 ...

  3. 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置

     1.下载Nginx,进入Nginx下载地址:http://nginx.org/ 点击nginx-1.8.0,进入:http://nginx.org/en/download.html,下载文件: ...

  4. keepalived实现nginx的高可用(双主模型)

    实验环境: RS1:rip(172.16.125.7),安装httpd软件包: RS2:rip(172.16.125.8),安装httpd软件包: director1(7-1.lcs.com):vip ...

  5. Nginx实用教程(二):配置文件入门

    Nginx配置文件结构 nginx配置文件由指令(directive)组成,指令分为两种形式,简单指令和区块指令. 一条简单指令由指令名.参数和结尾的分号(;)组成,例如: listen 80 bac ...

  6. nginx启动重启与升级以及检测配置文件

    查看nginx的主进程号 ps -ef|grep nginx 从容停止nginx kill - QUIT nginx主进程号 或者 kill - QUIT nginx的pid文件所在,例如我的 [ro ...

  7. Linux下玩转nginx系列(二)——nginx配置文件说明

    nginx 文件结构 # main全局块events { #events块... }http #http块 {... #http全局块server #server块{ ... #server全局块lo ...

  8. Nginx入门3:Nginx常用命令;(启动nginx;启动时,指定配置文件;测试配置文件,查看当前使用的哪个配置文件;显示nginx版本;停止nginx;修改配置文件后,重载配置文件;)

    说明: (1)本篇博客介绍nginx常用的一些命令: 目录 一:启动Nginx:[/usr/sbin/nginx]: 1. 使用[/usr/sbin/nginx]去启动Nginx: 2.可以通过浏览器 ...

  9. ajax nginx 转发 sessionid_Nginx:初识Nginx(概念、在Docker中安装Nginx、常用命令、配置文件) - 怀梦想,致远方...

    1.Nginx初识 (1)概念 Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好 Nginx可以作为静态页面 ...

  10. 搭建nginx服务、nginx的升级安装、Nginx配置文件的解析、web页面用户认证

    一,Nginx安装 1.安装nginx #  yum -y install gcc pcre-devel openssl-devel                              //安装 ...

最新文章

  1. [Android Pro] 有关Broadcast作为内部类时注册的一些问题
  2. windows自动修复失败,无法启动
  3. php根据字符串生成变量名,PHP 自定义字符串中的变量名解析
  4. labview事件结构
  5. 开放下载!阿里云开发者学堂配套教材《JVM实战》
  6. 创建自己的共用js库
  7. 《Android的设计与实现:卷I》迷你书
  8. 如何使用GitLab和Rancher构建CI/CD流水线–Part 1
  9. HDU4612+Tarjan缩点+BFS求树的直径
  10. 便携式嵌入式软件接口测试工具
  11. 赛锐信息:5个方面帮您应对 SAP License 审计
  12. 92.发光文字加载特效
  13. Python OpenCV去除图片水印
  14. 导出开发板上的根文件系统,并打包制成img镜像
  15. Word中去掉各种标记符号
  16. 需求分析——软件需求规格说明书标准目录
  17. qwt3d在qt5里面的编译问题
  18. 《Android源码设计模式解析与实战》读书笔记(七)——策略模式
  19. c语言托儿所收2到6岁儿童,2018下教师资格考试测试试题:幼儿《保教知识与能力》(三)...
  20. outlook邮件存到本地_如何在Microsoft Outlook中将电子邮件(和其他项目)另存为文件

热门文章

  1. 简单使用MATLAB自带的遗传算法工具箱
  2. 计算机windows8黑屏怎么办,Win8电脑开机黑屏只有鼠标光标怎么解决
  3. 材料表征技术书籍-7本
  4. OpenCV实践之车流量统计(C++)
  5. UVZ转成PDF并添加目录
  6. win10 64位下Oracle10g安装
  7. 游戏窗口化工具_仙剑奇侠传16珍藏版大合集(含各个版本和工具)
  8. 几款Android 应用自动化测试工具
  9. 金融反欺诈-交易基础介绍
  10. 用asp如何开发wap push(转)