当前位置:首页 > 教程 > 正文内容

nginx压缩图片(nginx视频压缩)

2023-04-04 05:10:05教程1

nginx视频压缩

我的回答:gzip是GNU-ZIP的压缩技术,经过gzip压缩后页面大小可以变成原来的30%甚至更小,用户浏览页面的速度会快得多。

gzip的压缩界面需要浏览器和服务器端都支持,实际上就是服务器端压缩,浏览器端解压并且解析页面,大多数浏览器都支持gzip过的页面。所以确定压缩生效,可以对照gzip的压缩比进行抓包比较。

nginx静态资源压缩

你让nginx运行起来,改一下配置就可以实现一个静态的web服务器。

首先你要有一台有外网Ip的linux服务器。你可以去nginx官网下载最新版的nginx压缩包,然后安装即可,如果是centos的话,也可以通过 yum install nginx 安装。

安装好之后,使用nginx start 命令启动服务器。

启动之后便可以通过直接访问服务器ip ,来访问nginx的欢迎页面。或者在服务器内部访问127.0.0.1或者localhost也可以访问这个欢迎页面。如果看到欢迎页面,说明Nginx安装成功!然后就可以把已经做好的html文件部署在Nginx中了。

nginx压缩率

日志对于统计排错来说非常有利的。本文总结了nginx日志相关的配置如access_log、log_format、open_log_file_cache、log_not_found、log_subrequest、rewrite_log、error_log。

nginx有一个非常灵活的日志记录模式。每个级别的配置可以有各自独立的访问日志。日志格式通过log_format命令来定义。ngx_http_log_module是用来定义请求日志格式的。

1. access_log指令

语法: access_log path [format [buffer=size [flush=time]]];

access_log path format gzip[=level] [buffer=size] [flush=time];

access_log syslog:server=address[,parameter=value] [format];

access_log off;

默认值: access_log logs/access.log combined;

配置段: http, server, location, if in location, limit_except

gzip压缩等级。

buffer设置内存缓存区大小。

flush保存在缓存区中的最长时间。

不记录日志:access_log off;

使用默认combined格式记录日志:access_log logs/access.log 或 access_log logs/access.log combined;

2. log_format指令

语法: log_format name string …;

默认值: log_format combined “…”;

配置段: http

name表示格式名称,string表示等义的格式。log_format有一个默认的无需设置的combined日志格式,相当于apache的combined日志格式,如下所示:

log_format combined '$remote_addr - $remote_user [$time_local] '

' "$request" $status $body_bytes_sent '

' "$http_referer" "$http_user_agent" ';

log_formatcombined'$remote_addr - $remote_user [$time_local] '

' "$request" $status $body_bytes_sent '

' "$http_referer" "$http_user_agent" ';

如果nginx位于负载均衡器,squid,nginx反向代理之后,web服务器无法直接获取到客户端真实的IP地址了。 $remote_addr获取反向代理的IP地址。反向代理服务器在转发请求的http头信息中,可以增加X-Forwarded-For信息,用来记录 客户端IP地址和客户端请求的服务器地址。PS: 获取用户真实IP 参见http://www.ttlsa.com/html/2235.html如下所示:

log_format porxy '$http_x_forwarded_for - $remote_user [$time_local] '

' "$request" $status $body_bytes_sent '

' "$http_referer" "$http_user_agent" ';

log_formatporxy'$http_x_forwarded_for - $remote_user [$time_local] '

' "$request" $status $body_bytes_sent '

' "$http_referer" "$http_user_agent" ';

日志格式允许包含的变量注释如下:

$remote_addr, $http_x_forwarded_for 记录客户端IP地址

$remote_user 记录客户端用户名称

$request 记录请求的URL和HTTP协议

$status 记录请求状态

$body_bytes_sent 发送给客户端的字节数,不包括响应头的大小; 该变量与Apache模块mod_log_config里的“%B”参数兼容。

$bytes_sent 发送给客户端的总字节数。

$connection 连接的序列号。

$connection_requests 当前通过一个连接获得的请求数量。

$msec 日志写入时间。单位为秒,精度是毫秒。

$pipe 如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为“.”。

$http_referer 记录从哪个页面链接访问过来的

$http_user_agent 记录客户端浏览器相关信息

$request_length 请求的长度(包括请求行,请求头和请求正文)。

$request_time 请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。

$time_iso8601 ISO8601标准格式下的本地时间。

$time_local 通用日志格式下的本地时间。

$remote_addr,$http_x_forwarded_for记录客户端IP地址

$remote_user记录客户端用户名称

$request记录请求的URL和HTTP协议

$status记录请求状态

$body_bytes_sent发送给客户端的字节数,不包括响应头的大小;该变量与Apache模块mod_log_config里的“%B”参数兼容。

$bytes_sent发送给客户端的总字节数。

$connection连接的序列号。

$connection_requests当前通过一个连接获得的请求数量。

$msec日志写入时间。单位为秒,精度是毫秒。

$pipe如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为“.”。

$http_referer记录从哪个页面链接访问过来的

$http_user_agent记录客户端浏览器相关信息

$request_length请求的长度(包括请求行,请求头和请求正文)。

$request_time请求处理时间,单位为秒,精度毫秒;从读入客户端的第一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。

$time_iso8601ISO8601标准格式下的本地时间。

$time_local通用日志格式下的本地时间。

[warning]发送给客户端的响应头拥有“sent_http_”前缀。 比如$sent_http_content_range。[/warning]

实例如下:

http {

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'"$status" $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for" '

'"$gzip_ratio" $request_time $bytes_sent $request_length';

log_format srcache_log '$remote_addr - $remote_user [$time_local] "$request" '

'"$status" $body_bytes_sent $request_time $bytes_sent $request_length '

'[$upstream_response_time] [$srcache_fetch_status] [$srcache_store_status] [$srcache_expire]';

open_log_file_cache max=1000 inactive=60s;

server {

server_name ~^(www\.)?(.+)$;

access_log logs/$2-access.log main;

error_log logs/$2-error.log;

location /srcache {

access_log logs/access-srcache.log srcache_log;

}

}

}

http{

log_formatmain'$remote_addr - $remote_user [$time_local] "$request" '

'"$status" $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for" '

'"$gzip_ratio" $request_time $bytes_sent $request_length';

log_formatsrcache_log'$remote_addr - $remote_user [$time_local] "$request" '

'"$status" $body_bytes_sent $request_time $bytes_sent $request_length '

'[$upstream_response_time] [$srcache_fetch_status] [$srcache_store_status] [$srcache_expire]';

open_log_file_cachemax=1000inactive=60s;

server{

server_name~^(www\.)?(.+)$;

access_loglogs/$2-access.logmain;

error_loglogs/$2-error.log;

location/srcache{

access_loglogs/access-srcache.logsrcache_log;

}

}

}

3. open_log_file_cache指令

语法: open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time];

open_log_file_cache off;

默认值: open_log_file_cache off;

配置段: http, server, location

对于每一条日志记录,都将是先打开文件,再写入日志,然后关闭。可以使用open_log_file_cache来设置日志文件缓存(默认是off),格式如下:

参数注释如下:

max:设置缓存中的最大文件描述符数量,如果缓存被占满,采用LRU算法将描述符关闭。

inactive:设置存活时间,默认是10s

min_uses:设置在inactive时间段内,日志文件最少使用多少次后,该日志文件描述符记入缓存中,默认是1次

valid:设置检查频率,默认60s

off:禁用缓存

实例如下:

open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;

1

open_log_file_cachemax=1000inactive=20svalid=1mmin_uses=2;

4. log_not_found指令

语法: log_not_found on | off;

默认值: log_not_found on;

配置段: http, server, location

是否在error_log中记录不存在的错误。默认是。

5. log_subrequest指令

语法: log_subrequest on | off;

默认值: log_subrequest off;

配置段: http, server, location

是否在access_log中记录子请求的访问日志。默认不记录。

6. rewrite_log指令

由ngx_http_rewrite_module模块提供的。用来记录重写日志的。对于调试重写规则建议开启。 Nginx重写规则指南

语法: rewrite_log on | off;

默认值: rewrite_log off;

配置段: http, server, location, if

启用时将在error log中记录notice级别的重写日志。

7. error_log指令

语法: error_log file | stderr | syslog:server=address[,parameter=value] [debug | info | notice | warn | error | crit | alert | emerg];

默认值: error_log logs/error.log error;

配置段: main, http, server, location

配置错误日志。

nginx 图片压缩

nginx会影响静态资源服务,nginx如果配置不当就会出现404之类的错误,这其实是访问静态资源文件的方法或者路径不当所致,静态资源服务就是非服务器动态生成的文件,一个客户端需要访问服务器获取静态资源,但是服务器和客户端的物理距离比较远,为了节省网络资源的开销,那么可以在多个地方建立代理,客户端访问的时候,通过CDN服务找到最近的代理就可以了,sendfile,为了提高网络的使用效率,可以设置为on,但是会损失一些实时性。

设置为on,会提高网络中报文传输的实时性。是否压缩。on 表示的时开启压缩。http 的版本。还要考虑是否开启了预读功能。如果开启了预读功能,那么会先去找改文件的压缩文件。但是,这对服务器的磁盘可能会有一定的限制。因为需要存储该文件的压缩文件。

nginx视频格式

nginx的default是系统文件夹,Default文件夹是系统用户账户默认配置文件夹,属性为只读隐藏,Win10系统下大小为1.44MB,这是自WindowsVista开始在系统中出现的系统隐藏文件夹。

其作用是用于存放创建新账户时使用的配置文件原本,用于控新建账户的使用环境及新用户的默认设置。

nginx视频播放

linux常用命令有哪些?

1. 路径和显示的命令:

cd

pwd

ls

ls -l 可以缩写为ll,该命令是用来查看指定目录下对象的详细属性的。

2. 文件、文件夹相关的操作命令:

·mkdir 创建文件夹。

·rmdir 删除空的文件夹的,基本被淘汰。

·rm

·touch 创建一个空的文件。

基本格式:touch 文件名

示例: touch test.txt

表示在当前目录下创建一个空文件,叫test.txt

touch /opt/test.txt

表示在/opt目录下创建一个空文件,叫test.txt

3·vim 可以缩写为vi,该命令是用来创建或者编辑一个文件的。

基本格式:vi 文件名

注意事项:

·vi只能针对文件来进行操作,如果vi的对象是一个已经存在的文件夹,则最终无法保存所编辑的内容。

·vi中鼠标是没有任何用的,光标的移动是通过上下左右方向键,回车键和PageDown、PageUp等来实现的。

3. 常用的vi子命令有:

:q 退出,适用于没有对文档进行任何修改的情况下。

:q! 强制退出不保存。

:wq 退出并且保存。

:wq!文件名 强制退出,并且将当前内容另存到指定的文件中。

dd 删除光标所在的整行

x 删除光标所在的字符

gg 移动光标到整个文档的最后一行

:N N是正整数,表示将光标移动到指定的行。

4.·编辑模式:在该模式下,所有键盘的输入都是纯粹的字符串,相当于在记事本中输入一样。

5.模式的切换和对应的特征:

命令模式下, 按i或者a或者s都可以切换到编辑模式。

一般来说,编辑模式就是vi界面的左下角出现“--insert--”这样的提示串。

编辑模式下,按ESC键就可以切换到命令模式。

6. 常见问题:linux下文件名和文件夹名能否重复?后缀名是否有用?

·不论是windows还是linux,同一个目录下,是不允许出现同名的对象。

·在linux下,文件的后缀名是没有任何意义的,一般来说,后缀名只是用来起到标识作用,当然,后缀名除了标识作用,一定程度上也考虑了和windows的兼容性。

·cp 用来实现复制粘贴操作。

基本语法格式:

格式1:

cp 源对象 目标对象

表示将源对象复制粘贴为目标对象。

示例:

cp a.txt d.txt

表示将当前目录下的a.txt复制到当前目录下,重命名为d.txt。

·mv 该命令是用来实现剪切粘贴的操作。

该命令的语法格式和cp命令基本一致。

·ln 该命令是用来创建链接对象的。

在linux中,链接分为硬链接和软链接。

默认创建的是硬链接。

-s 该属性表示创建的是软链接。

·文件内容的查看:

常用的命令有:

cat

more

less

head

Tail

常见的退出方式:

·CTRL+C 强制中止当前正在执行的命令。

·ESC

·Q

·QUIT

·EXIT

对象的查找:

find:

基本格式:

find 查找范围 参数 参数值

示例:

find / -name a.txt

表示在根目录下查找名字叫a.txt的对象。

文本内容、字符串的查找:

grep 该命令是支持正则表达式方式,在指定对象中查找符合条件的字符串或者行的。

基本格式:

grep [参数] [正则表达式] 对象

示例:

grep "a" a.txt

表示输出a.txt中所有包含字符a的行。

·ls 查看命令

基本格式:ls [对象]

表示查看对象或者对象下的所有对象的信息。

重要属性:

-l

查看详细属性

权限相关的命令:

在linux系统中,存在用户和用户组的概念。

·useradd 用来添加用户

示例:useradd test1

表示添加一个新的用户,叫test1.

·passwd 用来修改指定用户的密码

示例:passwd test1

通过交互式的方式来修改test1的密码

PS:如果passwd后不跟用户名,则表示修改的是当前登录的用户的密码。

在linux中,用户配置信息都是记录在系统文件/etc/passwd中的。

·userdel 用来删除用户

建议使用属性-r。

·groupadd 添加用户组

·groupdel 删除用户组

权限:

在linux中,用户对于对象的权限有三种:分别为

r 可读

w 可写

x 可执行

chmod 直接修改对象的权限,即直接修改这9个字符。

基本格式:

chmod 权限表达式 对象名 [-R]

·权限表达式,在linux中,权限的表示方式有两种:

·字符:

rwx 可读可写可执行

u 表示所有者

g 表示所属组

o 表示其它人

= 表示赋值

+ 表示加权限

- 表示减少权限。

例子:chmod u=rw a.txt

表示将a.txt的所有者的权限修改为可读可写。

其他操作:

·history 显示历史输入命令

!N N表示历史命令的编号

该命令表示执行历史命令列表中的第N条命令。

·clear 清理屏幕的输出。

·TAB键 是用来补全路径或者文件名的。

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98763896.html