Nginx
2022-01-06 15:01:50 0 举报
AI智能生成
ngxin基础应用
作者其他创作
大纲/内容
短网址的实现方式
子主题
PHP站
https://oneinstack.com/ 一键安装
https://www.discuz.net/ bbs
https://wordpress.org/download/ 个人博客
http://www.dedecms.com/ 内容管理系统
https://www.discuz.net/ bbs
https://wordpress.org/download/ 个人博客
http://www.dedecms.com/ 内容管理系统
Openresty
安装
lua语法
简单使用
content_by_lua
content_by_lua_file
修改外部lua文件实时生效
content_by_lua_block
获取参数
local args = ngx.var.arg_参数名: 获取单个参数
ngx.req.get_uri_args() 获取uri所有参数
ngx.req.get_body_data() 获取请求体
ngx.req.get_headers() 获取请求头
ngx.req.get_method() 获取请求method
ngx.get_http_version() 获取http协议版本
ngx.redirect('/foo'); url 重写
ngx.req.get_uri_args() 获取uri所有参数
ngx.req.get_body_data() 获取请求体
ngx.req.get_headers() 获取请求头
ngx.req.get_method() 获取请求method
ngx.get_http_version() 获取http协议版本
ngx.redirect('/foo'); url 重写
for循环
if
table 集合
lua 循环参数demo
衍生版本
Nginx开源版 http://nginx.org
Nginx plus 商业版 https://www.nginx.com
openresty : nginx+lua (访问数据库,访问kafka,访问 redis)
tengine: nginx+c/c++ 淘宝网自己开发,没有商业支持。
安装
前置
yum install -y zlib zlib-devel
yum install -y pcre pcre-devel
yum install -y pcre pcre-devel
源码编译
- ./configure --prefix=/usr/local/nginx
- make && make install
基础命令
./nginx 启动
./nginx -s stop 快速停止
./nginx -s quit 优雅关闭,在退出前完成已经接受的连接请求
./nginx -s reload 重新加载配置
防火墙
关闭防火墙
`systemctl stop firewalld.service`
放行端口
`firewall-cmd --zone=public --add-port=80/tcp --permanent`
重启防火墙
`firewall-cmd --reload`
禁止防火墙开机启动
`systemctl disable firewalld.service`
开机启动防火墙
`systemctl enable firewalld.service`
`systemctl stop firewalld.service`
放行端口
`firewall-cmd --zone=public --add-port=80/tcp --permanent`
重启防火墙
`firewall-cmd --reload`
禁止防火墙开机启动
`systemctl disable firewalld.service`
开机启动防火墙
`systemctl enable firewalld.service`
nginx -V 显示版本和编译参数
nginx -t 检测配置文件语法是否正确
配置文件
http
负载均衡转发
upstreams
upstreams
# 负载均衡
upstreams test{
server 127.0.0.1:88 weight=1 down;
server 127.0.0.1:99 weight=10;
server 127.0.0.1:77 weight=5 backup;
}
upstreams test{
server 127.0.0.1:88 weight=1 down;
server 127.0.0.1:99 weight=10;
server 127.0.0.1:77 weight=5 backup;
}
down: 不参与负载均衡
weight: 权重
backup: 非backup的机器down或者忙的时候生效。
weight: 权重
backup: 非backup的机器down或者忙的时候生效。
server
基本配置
alias 和 root
alias是目录别名,不会拼接location
root 会自动拼接 location目录
location
匹配规则
=匹配 > ^~匹配 > 正则匹配 > 普通匹配
=匹配 > ^~匹配 > 正则匹配 > 普通匹配
=
精准匹配
^~
匹配uri 开头
~
正则匹配,区分大小写
~*
正则匹配,不区分大小写
/
普通匹配
反向代理 proxy_pass
location / {
proxy_pass http://www.baidu.com;
}
proxy_pass http://www.baidu.com;
}
location / {
# 协议+负载均衡名
proxy_pass http://test;
}
# 协议+负载均衡名
proxy_pass http://test;
}
匹配静态资源
url rewrite
rewrite <正则> <替换> <标记>;
标记:
last : 继续匹配后面的location URI正则
break: 本条匹配后终止
redirect:返回302临时跳转
permanent: 返回301永久跳转
last : 继续匹配后面的location URI正则
break: 本条匹配后终止
redirect:返回302临时跳转
permanent: 返回301永久跳转
https
安装SSL模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
cp objs/nginx /usr/local/nginx/sbin/nginx
覆盖前记得把原来的nginx备份一下
基本配置
http强制跳转https
0 条评论
下一页