Nginx编译安装与常用配置模板
Nginx编译安装与常用配置模板
背景
是在受不了每次都是先去百度,找模板了.
这次将几个常用模板整理一下,
以后不管在哪里可以直接使用.
注意: 不能直接用于生产, 可用于测试与POC
第一部分编译
第一部分文件目录存放:
地址 19服务器 /nginx 目录.
-rw-r--r-- 1 root root 335 9月 27 18:50 config.txt
drwxr-xr-x 9 root root 186 12月 4 2019 nginx-1.17.3
drwxr-xr-x 9 root root 186 9月 27 15:14 nginx-1.22.0
drwxr-xr-x 9 root root 186 7月 18 14:45 nginx-1.23.0
drwxr-xr-x 9 root root 186 9月 27 15:05 nginx-1.23.1
drwxr-xr-x 4 root root 207 8月 9 2016 nginx-sticky
drwxrwxr-x 19 root root 4096 9月 27 15:57 openssl-1.1.1b
drwxr-xr-x 9 root root 8192 9月 27 15:57 pcre-8.43
drwxr-xr-x 14 root root 4096 9月 27 15:58 zlib-1.2.11
第一部分编译
关于安装的说明:
不需要单独编译zlib openssl之类的内容.
直接在nginx 下面 config 添加就会自动编译.
注意可以放到arm目录上面进行编译出来的制品就可以在国产环境上面运行
注意prefix的路径 建议设定好. 便于维护.
第一部分编译
./configure --prefix=/data/nginx \
--sbin-path=/data/nginx/nginx \
--conf-path=/data/nginx/nginx.conf \
--pid-path=/data/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=../pcre-8.43 \
--with-zlib=../zlib-1.2.11 \
--with-openssl=../openssl-1.1.1b \
--with-stream \
--with-stream_ssl_preread_module \
--add-module=../nginx-sticky
Nginx 配置节模板
- 简单的前端文件
- 可以用来进行前后端分离时, nignx暴露前端页面.
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
sendfile on;
gzip on;
server {
listen 80;
server_name localhost;
location / {
root /myapp/web/ ;
index index.html index.htm;
}
}
}
Nginx配置模板
- 七层反向代理的模板
- 可以实现简单的应用负载均衡.
- 注意 upstream 的名字跟proxy_pass的处理.
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream myapp {
sticky;|ip_hash;
server 10.x.x.x:5200;
server 10.2x.x.x:5200;
}
server {
listen 80;
server_name ip;|localhost|somename;
location / {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' "true";
proxy_pass http://myapp ;
}
}
}
Nginx配置模板
- 四层反向代理
- configure 里面必须带 with-stream
- 需要注意, http替换成了stream 并且没有location的字段.
worker_processes 1;
events {
worker_connections 1024;
}
stream {
upstream backend {
hash $remote_addr consistent;
server 127.0.0.1:12346 weight=5;
server 127.0.0.1:12347 max_fails=3 fail_timeout=30s;
server 127.0.0.1:12348 max_fails=3 fail_timeout=30s;
}
server {
listen 12345;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass backend;
}
}
Nginx配置模板
- 四层不用证书反向代理HTTPS网站
- 注意必须使用ssl_preread的模块, 注意可以同时反向代理多个站点.
- 可以在其他服务器上面修改DNS的方式进行使用.
worker_processes 2;
events {
worker_connections 10240;
}
stream {
map $ssl_preread_server_name $backend_pool {
www.baidu.com baidu;
www.163.com 163;
}
upstream baidu {
server www.baidu.com:443;
}
upstream 163 {
server www.163.com:443;
}
server {
listen 443;
ssl_preread on;
proxy_pass $backend_pool;
proxy_connect_timeout 15s;
proxy_timeout 15s;
proxy_next_upstream_timeout 15s;
}
}
Nginx配置模板
- Https以及80跳转443的写法
worker_processes auto;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
gzip on;
access_log off;
client_max_body_size 20m;
client_header_buffer_size 64k;
large_client_header_buffers 4 64k;
client_body_buffer_size 100m;
gzip_buffers 16 8k;
proxy_buffer_size 64k;
proxy_buffers 4 128k;
proxy_busy_buffers_size 256k;
keepalive_timeout 6000;
fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
proxy_connect_timeout 600s;
proxy_send_timeout 1200;
proxy_read_timeout 1200;
server_tokens off;
upstream myapp{
ip_hash;|sticky;
server 127.0.0.1:5200 ;
server 127.0.0.1:5300 ;
}
server {
listen 80;
server_name your.site.com ;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl;
server_name your.site.com ;
error_page 497 https://$http_host$request_uri;
ssl_certificate cert/server.crt;
ssl_certificate_key cert/server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
valid_referers none blocked server_names;
if ($invalid_referer = "1") {
return 403;
}
location / {
add_header 'Access-Control-Allow-Origin' "$http_origin";
add_header 'Access-Control-Allow-Credentials' "true";
proxy_pass http://myapp ;
}
location ^~ /api/runtime/sys/v1.0/messagecenter {
proxy_pass http://myapp/api/runtime/sys/v1.0/messagecenter;
proxy_http_version 1.1;
proxy_read_timeout 3600s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
}
Nginx配置模板
- 双向SSL认证模板
worker_processes auto;
events {
worker_connections 10240;
}
http {
client_header_timeout 600;
client_body_timeout 600;
client_max_body_size 300m;
proxy_send_timeout 600;
proxy_read_timeout 600;
include mime.types;
default_type application/octet-stream;
access_log off;
sendfile on;
keepalive_timeout 65;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 8;
gzip_types text/plain application/javascript text/css application/json text/javascript image/svg+xml image/png;
gzip_vary off;
upstream myapp {
ip_hash;
server 127.0.0.1:5200 weight=5 max_fails=1000 fail_timeout=10s;
}
server {
listen 80;
server_name www.myapp.com;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
listen 443 ssl;
server_name www.myapp.com;
add_header Strict-Transport-Security "max-age=172800; includeSubDomains" ;
ssl_certificate /opt/myapp/cert/server.crt; # server证书公钥 或阿里云证书pem
ssl_certificate_key /opt/myapp/cert/server.key; # server私钥 或阿里云证书key
ssl_client_certificate /opt/myapp/cert/ca.crt; # 根级证书公钥,用于验证各个二级client
ssl_verify_client on; # 开启客户端证书验证
ssl_prefer_server_ciphers on;
ssl_early_data on;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1.3 ;
ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
location ^~ / {
proxy_pass http://myapp/;
}
}
}
Nginx编译安装与常用配置模板的更多相关文章
- Nginx编译安装及常用命令
一个执着于技术的公众号 前言 前面我们已经了解Nginx基础入门知识,今天就带大家一起学习下Nginx编译安装部署 准备工作 一台linux机器(本次实验以CentOS 7.5为例) 到Nginx官方 ...
- nginx 编译安装以及简单配置
前言 Nginx的大名如雷贯耳,资料太多了,网上一搜一大把,所以这里就不阐述nginx的工作原理了,只是简单的编译安装nginx,然后呢,简单配置一下下. 下载Nginx.安装 下载地址:http:/ ...
- nginx编译安装以及常用参数详解
1 基于ansible role实现编译安装nginx 利用ansible控制端10.0.0.8机器,在被控制端10.0.0.18上部署nginx 首先打通ansible控制端与被控制端的基于key验 ...
- 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装
系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...
- Nginx的安装及相关配置
Nginx的安装及相关配置 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装 安装 n ...
- LNMP平台搭建之一:nginx编译安装
参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...
- Nginx编译安装lua-nginx-module
lua-nginx-module 模块可以将Lua的强大功能嵌入NGINX服务器. 下载Nginx源码 如果已安装Nginx,需要查看当前安装版本的编译参数: $ /usr/local/nginx/s ...
- [nginx]编译安装及安全优化
nginx配置-最后整理版 nginx_upstream_check_module nginx-module-vts nginx打补丁 nginx编译安装 - 下载 cd /usr/local/src ...
- Linux下nginx编译安装教程和编译参数详解
这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...
- 【转】编译安装PHP并配置PHP-FPM
1.前言上一篇讲述了如何编译安装MySQL,虽然可以通过yum install 或者rpm来安装,但是yum install和rpm安装有一个特点,就是有些参数是别人根据大众需求定制的,如果需要进行自 ...
随机推荐
- STM32+华为云IoTDA,带你设计一个属于自己的动态密码锁
摘要:设计一款物联网智能电子密码锁,以STM32单片机为主控制器,由触摸矩阵键盘.ESP8266.步进电机等模块组成,具有远程控制.随机密码生成等功能. 本文分享自华为云社区<STM32+华为云 ...
- 详解物联网Modbus通讯协议
摘要:Modbus是当前非常流行的一种通讯协议. 本文分享自华为云社区<一文搞懂物联网Modbus通讯协议丨[拜托了,物联网!]>,作者: jackwangcumt. 1 概述 随着IT技 ...
- 联合枚举类型:从C语言看枚举与联合类型到TypeScript/Python
枚举,还是从hello world 开奖,大部分的人应该是从C开始的,比如我.当然,这部分也可以跳过. 详说枚举类型: C语言中的enum 计算机入门时候有点印象: enum是C语言中的一个关键字,e ...
- Solon v2.2.12 发布,Java 应用开发框架
Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它不是 Spring.没有使用 Servlet.JavaEE 接口,是一个有自己接口标准的开放生态: 150多个生态插件,可以满足 ...
- Mac下Homebrew替换镜像
替换git和homebrew镜像源 一.git加速 查找域名对应的地址 nslookup github.com nslookup github.global.ssl.fastly.Net 修改host ...
- NOKOV度量光学动作捕捉系统工作流程
如果你对影视.动画或者游戏有一定关注,相信你一定听说过"动作捕捉".事实上,无论是屏幕中的战场,还是真实的军事领域,从2K游戏中的虚拟球员,到医疗.康复.运动领域的专业研究:从机器 ...
- 【每日一题】41. 德玛西亚万岁 (状态压缩DP)
补题链接:Here 经典状压DP问题 坑点,注意多组输入... const int N = 16, mod = 100000000; int f[N][1 << N]; int a[N]; ...
- Educational Codeforces Round 96 (Rated for Div. 2) (A - C题个人题解)
因为火锅导致错过的上分机会,赛后发现人均AC5题 1430A. Number of Apartments 暴力搜索 #include<bits/stdc++.h> using namesp ...
- FastDFS 海量小文件存储解决之道
作者:vivo互联网服务器团队-Zhou Changqing 一.FastDFS原理介绍 FastDFS是一个C语言实现的开源轻量级分布式文件系统 . 支持 Linux.FreeBSD.AID 等Un ...
- vue异步组件