IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> nginx配置简单说明 -> 正文阅读

[系统运维]nginx配置简单说明

一、什么是 nginx

Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。

二、nginx作用

1、正向代理

需要在客户端配置代理服务器进行指定网站访问
如果把局域网外的 Internet 想象成一个巨大的资源库,则局域网中的客户端要访 问 Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。

2、反向代理

暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。

3、负载均衡

增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

4、动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。

三、Nginx 模块

整体采用模块化设计是 Nginx 的一个重大特点,甚至 http 服务器核心功能也是一个模块。旧版本的 Nginx 的模块是静态的,添加和删除模块都要对 Nginx 进行重新编译,1.9.11 以及更新的版本已经支持动态模块加载。

高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。在这里插入图片描述

1、核心模块

  • 核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。

2、标准 HTTP 模块

  • 标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP 响应头设置等。

3、可选 HTTP 模块

  • 可选 HTTP 模块主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,如:Flash 多媒体传输、解析 GeoIP 请求、SSL 支持等。

4、邮件服务模块

  • 邮件服务模块主要用于支持 Nginx 的邮件服务,包括对 POP3 协议、IMAP 协议和 SMTP 协议的支持。

5、第三方模块

  • 第三方模块是为了扩展 Nginx 服务器应用,完成开发者自定义功能,如:Json 支持、Lua 支持等。

四、安装nginx

1. yum安装 
2. 编译安装 
3. docker安装
注:docker安装可参考:https://blog.csdn.net/PowerKim/article/details/125002558,其余网上百度都有,个人使用编译安装比较多

nginx常用的命令

nginx -c ~/nginx.conf # 以特定目录下的配置文件启动nginx:
nginx -s reload # 修改配置后重新加载生效
nginx -s stop # 快速停止nginx
nginx -t # 测试当前配置文件是否正确
nginx -t -c ~/nginx.conf # 测试特定的nginx配置文件是否正确
#注:当然咯,还有很多,作为不是运维的小java开发,就会这么多了

安装后nginx.conf配置文件说明

# 全局参数设置

user nginx; #指定用户

worker_processes 4; #设置nginx启动进程的数量,一般设置成与逻辑cpu数量相同

error_log logs/error.log; #指定错误日志

worker_rlimit_nofile 10240; #设置一个nginx进程能打开的最大文件数

pid /var/run/nginx.pid;

events {

worker_connections 1024; #设置一个进程的最大并发连接数

}

# http 服务相关设置

http {

include mime.types;

default_type application/octet-stream;

log_format main 'remote_addr - remote_user [time_local] “request” ’

? 'status body_bytes_sent “$http_referer” ’

? ‘“http_user_agent” “http_x_forwarded_for”’;

access_log /var/log/nginx/access.log main; #设置访问日志的位置和格式

sendfile on; #是否调用sendfile函数输出文件,一般设置为on,若nginx是用来进行磁盘IO负载应用时,可以设置为off,降低系统负载

gzip on; #是否开启gzip压缩,将注释去掉开启

keepalive_timeout 65; #设置长连接的超时时间

# 虚拟服务器的相关设置

server {

? listen 80; #设置监听的端口

? server_name localhost; #设置绑定的主机名、域名或ip地址

# charset koi8-r; # 设置编码字符

? charset utf-8;

? location / {

? root html; #设置服务器默认网站的根目录位置,需要手动创建

? index index.html index.htm; #设置默认打开的文档

? }

? error_page 500 502 503 504 /50x.html; #设置错误信息返回页面

? location = /50x.html {

? root html; #这里的绝对位置是/usr/local/nginx/html

? }

}

}

五、nginx官网配置文件

nginx官网地址 :
https://www.cnginx.com/

nginx官网所有模块及作用
生成是使用该命令配置的。它定义了系统的各个方面,包括nginx可用于连接处理的方法。最后,它会创建一个 .configureMakefile

该命令支持以下参数:configure

--help
打印帮助消息。
--prefix=path
定义将保存服务器文件的目录。同一目录还将用于 由 (库源的路径除外) 和配置文件中设置的所有相对路径。默认情况下,它设置为目录。configurenginx.conf/usr/local/nginx
--sbin-path=path
设置 nginx 可执行文件的名称。此名称仅在安装过程中使用。默认情况下,该文件名为 。prefix/sbin/nginx
--modules-path=path
定义了将安装nginx动态模块的目录。默认情况下,使用该目录。prefix/modules
--conf-path=path
设置配置文件的名称。如果需要,nginx总是可以通过命令行参数-c文件中指定它来启动不同的配置文件。默认情况下,该文件名为 。nginx.confprefix/conf/nginx.conf
--error-log-path=path
设置主错误、警告和诊断文件的名称。安装后,始终可以使用 error_log 指令在配置文件中更改文件名。默认情况下,该文件名为 。nginx.confprefix/logs/error.log
--pid-path=path
设置将存储主进程的进程 ID 的文件的名称。安装后,始终可以使用 pid 指令在配置文件中更改文件名。默认情况下,该文件名为 。nginx.pidnginx.confprefix/logs/nginx.pid
--lock-path=path
为锁定文件的名称设置前缀。安装后,始终可以使用 lock_file 指令在配置文件中更改该值。默认情况下,该值为 。nginx.confprefix/logs/nginx.lock
--user=name
设置非特权用户的名称,其凭据将由工作进程使用。安装后,始终可以使用 user 指令在配置文件中更改名称。默认用户名为 nobody。nginx.conf
--group=name
设置其凭据将由工作进程使用的组的名称。安装后,始终可以使用 user 指令在配置文件中更改名称。默认情况下,组名设置为非特权用户的名称。nginx.conf
--build=name
设置一个可选的nginx构建名称。
--builddir=path
设置生成目录。
--with-select_module
--without-select_module
启用或禁用构建允许服务器使用该方法的模块。如果平台似乎不支持更合适的方法(如 kqueue、epoll 或 /dev/poll),则会自动构建此模块。select()
--with-poll_module
--without-poll_module
启用或禁用构建允许服务器使用该方法的模块。如果平台似乎不支持更合适的方法(如 kqueue、epoll 或 /dev/poll),则会自动构建此模块。poll()
--with-threads
允许使用线程池。
--with-file-aio
允许在 FreeBSD 和 Linux 上使用异步文件 I/O (AIO)。
--with-http_ssl_module
允许构建将 HTTPS 协议支持添加到 HTTP 服务器的模块。默认情况下不构建此模块。构建和运行此模块需要 OpenSSL 库。
--with-http_v2_module
允许构建一个支持 HTTP/2 的模块。默认情况下不构建此模块。
--with-http_realip_module
允许构建ngx_http_realip_module模块,该模块将客户端地址更改为指定标头字段中发送的地址。默认情况下不构建此模块。
--with-http_addition_module
允许构建在响应之前和之后添加文本的ngx_http_addition_module模块。默认情况下不构建此模块。
--with-http_xslt_module
--with-http_xslt_module=dynamic
支持构建使用一个或多个 XSLT 样式表转换 XML 响应的ngx_http_xslt_module模块。默认情况下不构建此模块。构建和运行此模块需要 libxml2 和 libxslt 库。
--with-http_image_filter_module
--with-http_image_filter_module=dynamic
支持构建ngx_http_image_filter_module模块,用于转换 JPEG、GIF、PNG 和 WebP 格式的图像。默认情况下不构建此模块。
--with-http_geoip_module
--with-http_geoip_module=dynamic
支持构建ngx_http_geoip_module模块,该模块根据客户端 IP 地址和预编译的 MaxMind 数据库创建变量。默认情况下不构建此模块。
--with-http_sub_module
允许构建ngx_http_sub_module模块,该模块通过将一个指定的字符串替换为另一个字符串来修改响应。默认情况下不构建此模块。
--with-http_dav_module
支持构建通过 WebDAV 协议提供文件管理自动化的ngx_http_dav_module模块。默认情况下不构建此模块。
--with-http_flv_module
支持构建ngx_http_flv_module模块,该模块为 Flash 视频 (FLV) 文件提供伪流式服务器端支持。默认情况下不构建此模块。
--with-http_mp4_module
支持构建为 MP4 文件提供伪流式处理服务器端支持的ngx_http_mp4_module模块。默认情况下不构建此模块。
--with-http_gunzip_module
允许构建ngx_http_gunzip_module模块,该模块为不支持“gzip”编码方法的客户端解压缩带有“”的响应。默认情况下不构建此模块。Content-Encoding: gzip
--with-http_gzip_static_module
允许构建ngx_http_gzip_static_module模块,该模块允许发送文件扩展名为“”的预压缩文件,而不是常规文件。默认情况下不构建此模块。.gz
--with-http_auth_request_module
允许构建基于子请求结果实现客户端授权的ngx_http_auth_request_module模块。默认情况下不构建此模块。
--with-http_random_index_module
允许构建ngx_http_random_index_module模块,该模块处理以斜杠字符 ('') 结尾的请求,并在目录中选取一个随机文件作为索引文件。默认情况下不构建此模块。/
--with-http_secure_link_module
支持构建ngx_http_secure_link_module模块。默认情况下不构建此模块。
--with-http_degradation_module
启用构建模块。默认情况下不构建此模块。ngx_http_degradation_module
--with-http_slice_module
允许构建ngx_http_slice_module模块,该模块将请求拆分为子请求,每个子请求返回一定范围的响应。该模块提供了对大型响应的更有效缓存。默认情况下不构建此模块。
--with-http_stub_status_module
允许构建提供对基本状态信息的访问的ngx_http_stub_status_module模块。默认情况下不构建此模块。
--without-http_charset_module
禁止生成ngx_http_charset_module模块,该模块将指定的字符集添加到“Content-Type”响应标头字段,并且可以另外将数据从一个字符集转换为另一个字符集。
--without-http_gzip_module
禁止构建压缩 HTTP 服务器响应的模块。构建和运行此模块需要 zlib 库。
--without-http_ssi_module
禁止构建在传递 SSI 的响应中处理 SSI(服务器端包含)命令的ngx_http_ssi_module模块。
--without-http_userid_module
禁止构建设置适合客户端标识的 cookie 的ngx_http_userid_module模块。
--without-http_access_module
禁止构建允许限制对某些客户端地址的访问的ngx_http_access_module模块。
--without-http_auth_basic_module
禁止构建ngx_http_auth_basic_module模块,该模块允许通过使用“HTTP 基本身份验证”协议验证用户名和密码来限制对资源的访问。
--without-http_mirror_module
禁止构建通过创建后台镜像子请求来实现原始请求镜像的ngx_http_mirror_module模块。
--without-http_autoindex_module
禁止构建处理斜杠字符 ('') 结尾的请求的 ngx_http_autoindex_module 模块,并在ngx_http_index_module模块找不到索引文件时生成目录列表。/
--without-http_geo_module
禁止构建ngx_http_geo_module模块,该模块创建具有基于客户端 IP 地址的值的变量。
--without-http_map_module
禁止构建ngx_http_map_module模块,该模块使用基于其他变量的值创建变量。
--without-http_split_clients_module
禁止构建用于创建用于 A/B 测试变量的ngx_http_split_clients_module模块。
--without-http_referer_module
禁止构建ngx_http_referer_module模块,该模块可以阻止“Referer”标头字段中具有无效值的请求访问站点。
--without-http_rewrite_module
禁止构建允许 HTTP 服务器重定向请求和更改请求 URI 的模块。构建和运行此模块需要 PCRE 库。
--without-http_proxy_module
禁用构建 HTTP 服务器代理模块。
--without-http_fastcgi_module
禁止构建将请求传递到 FastCGI 服务器的ngx_http_fastcgi_module模块。
--without-http_uwsgi_module
禁止构建将请求传递到 uwsgi 服务器的ngx_http_uwsgi_module模块。
--without-http_scgi_module
禁止构建将请求传递到 SCGI 服务器的ngx_http_scgi_module模块。
--without-http_grpc_module
禁止构建将请求传递到 gRPC 服务器的ngx_http_grpc_module模块。
--without-http_memcached_module
禁止构建从 memcached 服务器获取响应的 ngx_http_memcached_module 模块。
--without-http_limit_conn_module
禁止构建限制每个密钥的连接数(例如,来自单个 IP 地址的连接数)的ngx_http_limit_conn_module模块。
--without-http_limit_req_module
禁止构建限制每个键的请求处理速率(例如,来自单个 IP 地址的请求的处理速率)的 ngx_http_limit_req_module 模块。
--without-http_empty_gif_module
禁止构建发出单像素透明 GIF 的模块。
--without-http_browser_module
禁止构建ngx_http_browser_module模块,该模块创建变量的值取决于“用户代理”请求标头字段的值。
--without-http_upstream_hash_module
禁止构建实现哈希负载平衡方法的模块。
--without-http_upstream_ip_hash_module
禁止构建实现ip_hash负载平衡方法的模块。
--without-http_upstream_least_conn_module
禁止构建实现least_conn负载平衡方法的模块。
--without-http_upstream_random_module
禁止构建实现随机负载平衡方法的模块。
--without-http_upstream_keepalive_module
禁止构建提供与上游服务器的连接缓存的模块。
--without-http_upstream_zone_module
禁止构建模块,以便能够在共享内存区域中存储上游组的运行时状态。
--with-http_perl_module
--with-http_perl_module=dynamic
支持构建嵌入式 Perl 模块。默认情况下不构建此模块。
--with-perl_modules_path=path
定义了一个将保留 Perl 模块的目录。
--with-perl=path
设置 Perl 二进制文件的名称。
--http-log-path=path
设置 HTTP 服务器的主请求日志文件的名称。安装后,始终可以使用 access_log 指令在配置文件中更改文件名。默认情况下,该文件名为 。nginx.confprefix/logs/access.log
--http-client-body-temp-path=path
定义用于存储保存客户端请求正文的临时文件的目录。安装后,始终可以使用 client_body_temp_path 指令在配置文件中更改目录。默认情况下,该目录名为 。nginx.confprefix/client_body_temp
--http-proxy-temp-path=path
定义一个目录,用于存储包含从代理服务器接收的数据的临时文件。安装后,始终可以使用 proxy_temp_path 指令在配置文件中更改目录。默认情况下,该目录名为 。nginx.confprefix/proxy_temp
--http-fastcgi-temp-path=path
定义了一个目录,用于存储包含从 FastCGI 服务器接收的数据的临时文件。安装后,始终可以使用 fastcgi_temp_path 指令在配置文件中更改目录。默认情况下,该目录名为 。nginx.confprefix/fastcgi_temp
--http-uwsgi-temp-path=path
定义了一个目录,用于存储包含从 uwsgi 服务器接收的数据的临时文件。安装后,始终可以使用 uwsgi_temp_path 指令在配置文件中更改目录。默认情况下,该目录名为 。nginx.confprefix/uwsgi_temp
--http-scgi-temp-path=path
定义了一个目录,用于存储包含从 SCGI 服务器接收的数据的临时文件。安装后,始终可以使用 scgi_temp_path 指令在配置文件中更改目录。默认情况下,该目录名为 。nginx.confprefix/scgi_temp
--without-http
禁用 HTTP 服务器。
--without-http-cache
禁用 HTTP 缓存。
--with-mail
--with-mail=dynamic
启用 POP3/IMAP4/SMTP 邮件代理服务器。
--with-mail_ssl_module
允许构建一个模块,该模块将 SSL/TLS 协议支持添加到邮件代理服务器。默认情况下不构建此模块。构建和运行此模块需要 OpenSSL 库。
--without-mail_pop3_module
禁用邮件代理服务器中的 POP3 协议。
--without-mail_imap_module
禁用邮件代理服务器中的 IMAP 协议。
--without-mail_smtp_module
禁用邮件代理服务器中的 SMTP 协议。
--with-stream
--with-stream=dynamic
支持为通用 TCP/UDP 代理和负载平衡构建流模块。默认情况下不构建此模块。
--with-stream_ssl_module
允许构建将 SSL/TLS 协议支持添加到流模块的模块。默认情况下不构建此模块。构建和运行此模块需要 OpenSSL 库。
--with-stream_realip_module
允许构建ngx_stream_realip_module模块,该模块将客户端地址更改为 PROXY 协议标头中发送的地址。默认情况下不构建此模块。
--with-stream_geoip_module
--with-stream_geoip_module=dynamic
支持构建ngx_stream_geoip_module模块,该模块根据客户端IP地址和预编译的MaxMind数据库创建变量。默认情况下不构建此模块。
--with-stream_ssl_preread_module
允许构建ngx_stream_ssl_preread_module模块,该模块允许在不终止 SSL/TLS 的情况下从 ClientHello 消息中提取信息。默认情况下不构建此模块。
--without-stream_limit_conn_module
禁止构建限制每个密钥的连接数(例如,来自单个 IP 地址的连接数)的ngx_stream_limit_conn_module模块。
--without-stream_access_module
禁止构建允许限制对某些客户端地址的访问的ngx_stream_access_module模块。
--without-stream_geo_module
禁止构建ngx_stream_geo_module模块,该模块创建具有基于客户端 IP 地址的值的变量。
--without-stream_map_module
禁止构建ngx_stream_map_module模块,该模块使用基于其他变量的值创建变量。
--without-stream_split_clients_module
禁止构建用于创建用于 A/B 测试变量的ngx_stream_split_clients_module模块。
--without-stream_return_module
禁止生成ngx_stream_return_module模块,该模块将某些指定的值发送到客户端,然后关闭连接。
--without-stream_set_module
禁止生成为变量设置值的ngx_stream_set_module模块。
--without-stream_upstream_hash_module
禁止构建实现哈希负载平衡方法的模块。
--without-stream_upstream_least_conn_module
禁止构建实现least_conn负载平衡方法的模块。
--without-stream_upstream_random_module
禁止构建实现随机负载平衡方法的模块。
--without-stream_upstream_zone_module
禁止构建模块,以便能够在共享内存区域中存储上游组的运行时状态。
--with-google_perftools_module
支持构建ngx_google_perftools_module模块,该模块可以使用Google Performance Tools分析nginx工作进程。该模块适用于nginx开发人员,默认情况下不是构建的。
--with-cpp_test_module
启用构建模块。ngx_cpp_test_module
--add-module=path
启用外部模块。
--add-dynamic-module=path
启用外部动态模块。
--with-compat
实现动态模块兼容性。
--with-cc=path
设置 C 编译器的名称。
--with-cpp=path
设置 C 预处理器的名称。
--with-cc-opt=parameters
设置将添加到 CFLAGS 变量的其他参数。在 FreeBSD 下使用系统 PCRE 库时,应指定。如果需要增加 支持的文件数,也可以在此处指定,如下所示:。--with-cc-opt="-I /usr/local/include"select()--with-cc-opt="-D FD_SETSIZE=2048"
--with-ld-opt=parameters
设置将在链接期间使用的其他参数。在 FreeBSD 下使用系统 PCRE 库时,应指定。--with-ld-opt="-L /usr/local/lib"
--with-cpu-opt=cpu
启用按指定 CPU 进行构建:、、、。pentiumpentiumpropentium3pentium4athlonopteronsparc32sparc64ppc64
--without-pcre
禁用 PCRE 库的使用。
--with-pcre
强制使用 PCRE 库。
--with-pcre=path
设置 PCRE 库源的路径。需要从 PCRE 站点下载库分发并提取。其余的由nginx和完成。位置指令中的正则表达式支持和ngx_http_rewrite_module模块需要该库。./configuremake
--with-pcre-opt=parameters
为 PCRE 设置其他构建选项。
--with-pcre-jit
构建具有“实时编译”支持的 PCRE 库(1.1.12,pcre_jit指令)。
--without-pcre2
禁止使用 PCRE2 库而不是原始 PCRE 库 (1.21.5)。
--with-zlib=path
设置 zlib 库源的路径。库发行版(版本1.1.3 — 1.2.11)需要从zlib站点下载并提取。其余的由nginx和完成。ngx_http_gzip_module模块需要该库。./configuremake
--with-zlib-opt=parameters
为 zlib 设置其他构建选项。
--with-zlib-asm=cpu
允许使用针对指定 CPU 之一优化的 zlib 汇编器源:、 。pentiumpentiumpro
--with-libatomic
强制libatomic_ops库使用。
--with-libatomic=path
设置libatomic_ops库源的路径。
--with-openssl=path
设置 OpenSSL 库源的路径。
--with-openssl-opt=parameters
为 OpenSSL 设置其他构建选项。
--with-debug
启用调试日志。
参数用法示例(所有这些都需要在一行中键入):

./configure
    --sbin-path=/usr/local/nginx/nginx
    --conf-path=/usr/local/nginx/nginx.conf
    --pid-path=/usr/local/nginx/nginx.pid
    --with-http_ssl_module
    --with-pcre=../pcre2-10.39
    --with-zlib=../zlib-1.2.11
配置完成后,使用 编译并安装 nginx make

这是自己对于nginx简单的片面的理解,这些网上大佬都有很多超牛的文章,可以借鉴。
其实基础的配置是蛮多的,但是公司的运维小哥的配置好像不怎么多(这就不方便透露了*_*),自己也在慢慢的一步步深入学习中~

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:20:33  更:2022-07-20 19:24:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 18:35:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码