前言:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务:

一、nginx 基础常用命令:

1. ./nginx -t #检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
2. ./nginx -c /home/xx/nginx.conf #指定一个配置文件,来代替缺省的。
3. ./nginx -v #nginx 的版本。
4. ./nginx -s reload #eload 会重新加载配置文件,Nginx服务不会中断。而且reload时会测试conf语法等。
5. ./nginx #启动nginx。
6. ./nginx -s stop #stop 会立即停止服务,这种方法比较强硬,无论进程是否在工作,都直接停止进程。
7. ./nginx -s quit #quit 较stop相比就比较温和一些了,需要进程完成当前工作后再停止。

二、nginx 配置反向代理转发proxy_pass:

# 请求url http://127.0.0.1:8080/proxy/index.html
location /proxy/ {proxy_pass http://127.0.0.1:8080/;
}
# 代理地址以 "/" 结尾,代理转发的url地址为:http://127.0.0.1:8080/index.htmllocation /proxy/ {proxy_pass http://127.0.0.1:8080;
}
# 代理地址不以 "/" 结尾,代理转发的url地址为:http://127.0.0.1:8080/proxy/index.htmllocation /proxy/ {proxy_pass http://127.0.0.1:8080/tomcat/;
}
# 代理地址以 "tomcat/" 结尾,代理转发的url地址为:http://127.0.0.1:8080/tomat/index.htmllocation /proxy/ {proxy_pass http://127.0.0.1:8080/tomcat;
}
# 代理地址以 "tomcat" 代理转发的url地址为:http://127.0.0.1:8080/proxytomcat/index.html

三、nginx 配置负载均衡策略(默认为轮询策略,支持: 轮循 Round Robin、加权轮循 Weighted Round Robin、最少连接数 Least Connection、源 IP 哈希 Source IP Hash等多种策略):

upstream webservers{server  127.0.0.1:8080;server  127.0.0.1:8081;server  127.0.0.1:8082;
}location / {#转发到负载服务上proxy_pass http://webservers;
}

四、openssl生成证书

1. openssl生成ssl证书:

1.1. 下载opens ssl并安装:http://slproweb.com/products/Win32OpenSSL.html 官网地址

1.2. 安装openssl且配置环境变量,新增系统变量:变量名 OPENSSL_HOME 变量值 D:\Program Files\OpenSSL-Win64\bin(以自己实际安装路径为准)

1.3. 在path变量内新增内容 %OPENSSL_HOME%

1.4. 在 ssl 文件夹下执行命令行操作:

1.4.1.创建私钥: openssl genrsa -des3 -out nj.key 1024

1.4.2.创建csr证书:openssl req -new -key nj.key -out nj.csr
1.4.3.复制文件: copy nj.key nj.key.copy
1.4.4.去除密码: openssl rsa -in nj.key.copy -out nj.key
1.4.4.生成 crt 证书: openssl x509 -req -days 365 -in nj.csr -signkey nj.key

五、nginx 配置ssl、 实现http转https

1.1.nginx.conf配置文件


#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}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  logs/access.log  main;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {listen       443 ssl;server_name  mt.hello.com;#ssl          on;ssl_certificate     ../ssl/nj.crt;ssl_certificate_key ../ssl/nj.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location /chat/ {proxy_pass http://jd.hello.com:8089;}}server {listen 80;#填写绑定证书的域名server_name mt.hello.com;#强制将http的URL重写成httpsrewrite ^(.*) https://$server_name$1 permanent; }server {listen       8081;server_name  mt.hello.com;location /chat/ {proxy_pass http://jd.hello.com:8089;}location /proxy/nginx/ {if ($host = 'mt.hello.com') {rewrite ^(.*)$ http://jd.hello.com/$1 permanent;}proxy_pass http://jd.hello.com:8089/;}location /proxy/ {if ($host = 'mt.hello.com') {rewrite ^(.*)$ http://www.baidu.com permanent;}proxy_pass http://jd.hello.com:8089/;}location /error/ {if ($host = 'jd.hello.com') {return 404;}proxy_pass http://jd.hello.com:8089/;}error_page 404 /404.html;error_page 500 502 503 504 /50x.html;location =/50x.html{root html;}location =/404.html{root html;}location /mystatic {root html;index index.html index.htm;}}}

1.2.配置ssl证书,443为https的默认端口、实现http协议转https协议

六、nginx 配置rewrite实现新旧域名平滑更换、配置错误代码转发

一文带你搞懂Nginx,老王出品,必属精品相关推荐

  1. Nginx详解(一文带你搞懂Nginx)

    前言 最近进入了新篇章的学习,Nginx,特写下详细笔记与大家共享. 目录 前言 一.Nginx是什么? 二.Nginx的反向代理(扩展:正向代理) 三.Nginx的负载均衡 什么是负载均衡? 四.N ...

  2. Nginx配置详解,一文带你搞懂Nginx

    1 基本概念 1.1 Nginx简介 Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现好.Nginx专为性能优化 ...

  3. RPC框架:一文带你搞懂RPC

    RPC是什么(GPT答) ChatGPT回答: RPC(Remote Procedure Call)是一种分布式应用程序的编程模型,允许程序在不同的计算机上运行.它以一种透明的方式,将一个程序的函数调 ...

  4. RPC框架:从原理到选型,一文带你搞懂RPC

    大家好,我是华仔,RPC系列的文章是我去年写的,当时写的比较散,现在重新进行整理.对于想学习RPC框架的同学,通过这篇文章,让你知其然并知其所以然,便于以后技术选型,下面是文章内容目录: RPC 什么 ...

  5. 一文带你搞懂从动态代理实现到Spring AOP

    摘要:本文主要讲了Spring Aop动态代理实现的两种方式. 1. Spring AOP Spring是一个轻型容器,Spring整个系列的最最核心的概念当属IoC.AOP.可见AOP是Spring ...

  6. 一文带你搞懂C#多线程的5种写法

    一文带你搞懂C#多线程的5种写法 1.简介 超长警告! 在学习本篇文章前你需要学习的相关知识: 线程基本知识 此篇文章简单总结了C#中主要的多线程实现方法,包括: Thread 线程 ThreadPo ...

  7. 如何查询你电脑的IP地址?一文带你搞懂IP地址

    上一章介绍了数据链路层--以太网数据帧的报文格式(你知道以太网数据帧在网络中如何发送和接收的吗?一文带你搞懂它),本章介绍下网络层--IP地址. 大家都知道计算机都会有一个IP地址,只有配置了IP地址 ...

  8. ipv6单播地址包括哪两种类型_IPV6中为啥没有ARP了呢?一文带你搞懂NDP邻居发现协议...

    前言 前面我们介绍了ICMPv6协议 除了提供ICMPv4常用的基本功能之外,还有邻居发现(ND)的功能.一文带你看懂ICMPv6和ICMPv4的区别 那么究竟什么是邻居发现协议(ND)呢? 邻居发现 ...

  9. 一文带你搞懂什么是测试开发!

    需要说明的是,原文发表于作者的公众号中,文章篇幅虽长,但内容朴实.且能帮助读者进一步理解测试开发工作,请读者耐心品完~ 01 开始前说点什么 1. 自我反省 公众号开通了也有两年多了,除了刚开通的那段 ...

最新文章

  1. vue连线 插件_【Vue CLI】手把手教你撸插件
  2. hbuilder入门之基本配置(php)
  3. 解析Java多线程的两点误区你必知的
  4. 每日程序C语言38-输入字符串求长度
  5. Linux(CentOS)同步时间
  6. python web.py 404_找不到web.py开发服务器-favicon.ico-404
  7. 链表面试题1:反转单链表,不带头结点。
  8. Python Tricks(四)—— list of lists 的flatten
  9. Python3 不能直接导入reduce
  10. 有血有肉,汇报年终总结
  11. latex安装教程以及入门
  12. [979]小米6X如何开启root权限
  13. 【Python】接收UDP数据(保姆级图文+附测试工具文件+api例程)
  14. 不可不知的国际贸易术语
  15. android webview将网页内容导出为图片和PDF方法
  16. python设置win10壁纸
  17. (转自林达华)深入问题本身
  18. 转:用调制解调器打电话收传真-ModemFax
  19. Emily Dickinson 《Not In Vain》
  20. sony单反数码相机闪光灯-TTL的研究

热门文章

  1. UE C++中获得蓝图函数返回值
  2. 说说Java生态圈的那些事儿
  3. 无法打开网页版晓木虫怎么办?
  4. Android 图片压缩方案
  5. c++刷题_今日刷题(5)
  6. 大PK:大数据金融科技公司的聚焦
  7. linux下修改文件查看样式(日期/文件大小)
  8. 一到秒杀就瘫痪?压测大师保你后台稳健
  9. mysql 授权 all_mysql使用grant ALL privileges命令给用户授权
  10. 用图带你了解大数据框架架构之DophinScheduler