做网站不赚钱了,网站建设修饰商品,e2ee网站开发,太原网站设计开发公司目录
1.网页的状态页
2.Nginx第三方模块(echo)
3.变量
4.自定义访问日志
5.Nginx压缩功能
6.https功能
7.自定义图标 Nginx除了一些基本配置外#xff0c;还有一些高级配置#xff0c;如网页的状态#xff0c;第三方模块需要另外安装#xff0c;支持变量#xff0c…目录
1.网页的状态页
2.Nginx第三方模块(echo)
3.变量
4.自定义访问日志
5.Nginx压缩功能
6.https功能
7.自定义图标 Nginx除了一些基本配置外还有一些高级配置如网页的状态第三方模块需要另外安装支持变量自定义访问日志Nginx压缩功能https功能自定义图标等。
1.网页的状态页
状态页模块为ngx_http_stub_status_module通过.configire --help | grep ngx_http_stub_status_module查看是否编译安装如果没有就--add-module编译添加该模块。 写入location模块 location /nginx_status { stub_status; } 使用浏览器访问192.168.114.10/nginx_status Active connections处于活动状态的客户端连接数
active connections:1
三个数字分别对应上面的accepts,handled,requests三个值accepts统计总值自启动后已经接受的客户端请求的总数。handled统计总值自启动后已经处理完成的客户端请求总数一般等于accepts。requests统计总值自启动后客户端发来的总的请求数。
Reading读取客户端请求报文首部的连接的连接数。Writing当前状态正在向客户端发送响应报文过程中的连接数。Waiting当前状态正在等待客户端发出请求的空闲连接数。
2.Nginx第三方模块(echo)
当在location中直接使用echo hello /; 重新加载会提示有问题。
也就是nginx不支持echo打印输出需要第三方模块提供下载第三方模块。 [rootNode1 nginx-1.18.0]#:yum install git -y #安装git [rootNode1 nginx-1.18.0]#:git clone https://github.com/openresty/echo-nginx-module.git [rootNode1 nginx-1.18.0]#:./configure --prefix/apps/nginx --usernginx --groupnginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --add-module/data/nginx-1.18.0/echo-nginx-module [rootNode1 nginx-1.18.0]#:make make install 重启服务systemctl stop nginx ; systemctl start nginx 此时再次重新加载nginx -s reload在测试机上尝试curl 192.168.114.10 3.变量
3.1常用内置变量
$remote_addr;#客户端的IP地址
$args;变量中存放了URL中的参数。记录数据库中的数据。形成一条语句对接数据库 select * from table where id125663;
$document_root;#保存了针对当前资源的请求的系统根目录例如:/apps/nginx/html。nginx软件的根目录在系统中真正的位置。在location中root /opt; echo $document_root; 打印出/opt; 页面主站点
$document_uri;客户端打在浏览器中的url
$remote_port;远端端口客户端端口。
$document_root;#保存了针对当前资源的请求的系统根目录
$document_uri; #保存了当前请求中不包含参数的URI
$http_cookie;#客户端的cookie信息
$request_filename;#当前请求的资源文件的磁盘路径
$scheme;#协议
$request_method;输出GET
$request_uri;除了主机名前的后面都打印出 重新加载配置文件nginx -s reload
在测试机上测试 -b加上cookie 3.2 自定义变量
与普通变量一样通过set设置变量set $变量 值。 set $my_port $server_port;将服务端端口作为值赋给my_port变量名。 4.自定义访问日志
4.1 日志格式
在主配置文件nginx.conf中http模块中就有日志格式的配置
日志默认在编译安装指定的路径下/apps/nginx/logs/access.log中。查看日志格式
我们自己设置日志格式
在/apps/nginx/logs/下。vim nginx.conf 4.1自定义json格式日志 5.Nginx压缩功能
压缩功能依赖于ngx_http_gzip_module模块查看是否安装该模块 如果文件过小小于1k就没必要压缩否则压缩后有可能变大
在文件中写入location模块 压缩级别有1-9数字越大压缩越高但更消耗CPU。在root指定的路径下创建一个5M左右的文件
dd if/dev/zero ofindex.html count1 bs5M 创建一个5M的空文件
在第一个行写入nginx 5M
vim index.html 添加第一行nginx 5M。此时大概5.1M 浏览器访问指定路径。 6.https功能
https是httpssl一种加密算法使http更为安全
如果没有ssl访问时是http不安全没有证书的 [rootNode1 certs]#:pwd /etc/pki/tls/certs [rootNode1 certs]#:vim Makefile 大概在57行复制yy 粘贴p去掉-aes128 使用make www.pc.com.crt签名证书 下面问你国家省市公司部门主机名邮箱。可随便填写邮箱可不写 然后就会出现两个文件一个是*.crt证书一个是*.key私钥。 复制到/opt/下去cp www* /opt/ ssl on | off; 指定虚拟主机配置是否启用ssl功能此功能在1.15.0废弃使用listen [ssl]替代。listen 443 ssl;
ssl_certificate指向包含虚拟机和CA的两个证书信息文件一般是crt文件
ssl_certificate_key当前虚拟主机使用的私钥我那件一般是key文件。
这时候浏览器输入https://192.168.114.10 点击高级继续访问。这是我们自己做的一个httpssl没有经过第三方认证证书依旧无效。 7.自定义图标
自定义图标就是网页标头的小图标。
默认是没有的当在浏览器上访问时是这样的没有任何图标。 通过下载wget www.baidu.com/favicon.ico百度的图标。当客户端使用浏览器访问页面时浏览器会自己主动发起请求获取页面的favicon.ico文件。但是当浏览器请求的favicon.ico文件不存在时服务器会记录404日志而且浏览器也会显示404报错。
那么我们可以将图标保存到指定的主目录下也就是将图标放在主目录下。 [rootNode1 data]#:wget www.baidu.com/favicon.ico location中写入 此时再访问但要清除浏览器缓存 再次访问发现有个百度的图标了 --------end---------