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