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编译安装与常用配置模板的更多相关文章

  1. Nginx编译安装及常用命令

    一个执着于技术的公众号 前言 前面我们已经了解Nginx基础入门知识,今天就带大家一起学习下Nginx编译安装部署 准备工作 一台linux机器(本次实验以CentOS 7.5为例) 到Nginx官方 ...

  2. nginx 编译安装以及简单配置

    前言 Nginx的大名如雷贯耳,资料太多了,网上一搜一大把,所以这里就不阐述nginx的工作原理了,只是简单的编译安装nginx,然后呢,简单配置一下下. 下载Nginx.安装 下载地址:http:/ ...

  3. nginx编译安装以及常用参数详解

    1 基于ansible role实现编译安装nginx 利用ansible控制端10.0.0.8机器,在被控制端10.0.0.18上部署nginx 首先打通ansible控制端与被控制端的基于key验 ...

  4. 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装

    系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...

  5. Nginx的安装及相关配置

    Nginx的安装及相关配置 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装 安装 n ...

  6. LNMP平台搭建之一:nginx编译安装

    参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html   jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...

  7. Nginx编译安装lua-nginx-module

    lua-nginx-module 模块可以将Lua的强大功能嵌入NGINX服务器. 下载Nginx源码 如果已安装Nginx,需要查看当前安装版本的编译参数: $ /usr/local/nginx/s ...

  8. [nginx]编译安装及安全优化

    nginx配置-最后整理版 nginx_upstream_check_module nginx-module-vts nginx打补丁 nginx编译安装 - 下载 cd /usr/local/src ...

  9. Linux下nginx编译安装教程和编译参数详解

    这篇文章主要介绍了Linux下nginx编译安装教程和编译参数详解,需要的朋友可以参考下 一.必要软件准备1.安装pcre 为了支持rewrite功能,我们需要安装pcre 复制代码代码如下: # y ...

  10. 【转】编译安装PHP并配置PHP-FPM

    1.前言上一篇讲述了如何编译安装MySQL,虽然可以通过yum install 或者rpm来安装,但是yum install和rpm安装有一个特点,就是有些参数是别人根据大众需求定制的,如果需要进行自 ...

随机推荐

  1. Python图像处理丨图像缩放、旋转、翻转与图像平移

    摘要:本篇文章主要讲解Python调用OpenCV实现图像位移操作.旋转和翻转效果,包括四部分知识:图像缩放.图像旋转.图像翻转.图像平移. 本文分享自华为云社区<[Python图像处理] 六. ...

  2. Redis现网那些坑:用个缓存,还要为磁盘故障买单?

    摘要:向业务查询超时say goodbye! 本文分享自华为云社区<Redis现网那些坑:用个缓存,还要为磁盘故障买单?>,作者: GaussDB 数据库 . 近日,网上一些电商用户出现了 ...

  3. 移动应用中的第三方SDK隐私合规检测,早知道

    摘要: 在移动应用隐私合规检测中,第三方SDK隐私声明由于其展现位置展现形式的多样性,自动化提取与解析是比较困难的任务. 本文分享自华为云社区<移动应用中的第三方SDK隐私合规检测>,作者 ...

  4. 从原理带你掌握Spring MVC拦截处理器知识

    摘要:SpringWebMVC的处理器拦截器,类似于Servlet开发中的过滤器Filter,用于处理器进行预处理和后处理. 本文分享自华为云社区<不讲废话,全程干货,0基础带你学习Spring ...

  5. 9个问题,带你掌握流程控制语句中的java原理

    摘要:利用9个问题帮助记忆流程控制语句中的Java原理知识. 本文分享自华为云社区<流程控制语句知识点里的java原理>,作者:breakDraw . 相信大家经常会遇到这种问题 可是这个 ...

  6. 第三方测评:GaussDB(for Redis)稳定性与扩容表现

    摘要:本文将通过采用Redis Labs推出的多线程压测工具memtier_benchmark对比测试下GaussDB(for Redis) 和原生Redis的特性差异 本文分享自华为云社区<墨 ...

  7. Solon v1.11.3 发布,第101个发布版本喽

    一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...

  8. OpenSSL 升级、回滚

    ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with ...

  9. PPT 版面的规则和精髓

    排版四原则 对齐 对比 亲密 重复 背景图 案例

  10. 微软的一些公开课,Python、机器学习、SQL、AI,全部免费

    大家好,我是老章,刷X看到一位博主Alif Hossain@alifcoder总结了微软的一些公开课,全部免费,蛮不错的.感兴趣可以学一波,还能领徽章. 1. 机器学习简介 本课程是学习机器学习基础知 ...