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安装有一个特点,就是有些参数是别人根据大众需求定制的,如果需要进行自 ...
随机推荐
- KubeEdge在边缘计算领域的安全防护及洞察
摘要:着重介绍Kubeedge在安全防护方面的实践,并介绍OpenSSF在开源软件安全方面的计划与目标. 本文分享自华为云社区<KubeEdge在边缘计算领域的安全防护及洞察>,作者:华为 ...
- 大数据处理黑科技:揭秘PB级数仓GaussDB(DWS) 并行计算技术
摘要:通过这篇文章,我们了解了GaussDB(DWS)并行计算技术的原理以及调优策略.希望广大开发者朋友们能够在实践中尝试该技术,更好地进行性能优化. 随着硬件系统的越来越好,数据库运行的CPU.磁盘 ...
- 想快速重构智慧园区5A系统,这份方案推荐给你
摘要:近年来,园区的数字化一直在演进,从OA.CA.BA.SA.FA等单一系统的信息化建设,到以应用为主导的大系统集成,再到以云.大数据为基础的数据开放平台构建,继而进入全量数据融合.数字技术泛在的智 ...
- 低门槛上手快!火山引擎 VeDI 这样满足数据分析新需求
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,市场研究机构 IDC 发布<2022 年 V2 全球大数据支出指南>. 数据显示,2021 ...
- C# Winform 自定义窗口,最大化遮住任务栏
解决 C# Winform 自定义窗口,最大化遮住任务栏 的问题,可以通过获取屏幕大小来控制最大值,来实现,代码如下 Rectangle ScreenArea = System.Windows.For ...
- Hadoop面试题(一)
1.集群的最主要瓶颈 磁盘IO 2.Hadoop运行模式 单机版.伪分布式模式.完全分布式模式 3.Hadoop生态圈的组件并做简要描述 1)Zookeeper:是一个开源的分布式应用程序协调服务,基 ...
- 【django-vue】 项目上线 uuid重复问题 内网穿透 支付宝验签 nginx集群 远程连接redis 使用uwsgi启动django
目录 上节回顾 uuid重复问题 内网穿透 支付宝验签 今日内容 1 上线架构图 2 阿里云购买 3 安装git和其他依赖 4 云服务器安装mysql 5 云服务器安装redis(源码安装) 远程连接 ...
- Codeforces 1326A Bad Ugly Numbers (思维)
Codeforces 1326A Bad Ugly Numbers 看完题目,第一直觉,质数肯定满足题意,再看数据范畴,\(1≤n≤10^5\), 质数线性筛仅能做到 n=7 的情况,即处理到1000 ...
- Python 在VSCode中使用
PyCharm到期了,所以打算换成VS Code(宇宙最好用编辑器?)试一试.但是下载之后不太会配置,网上不少的文章也比较旧了,所以打算自己看着官方教程配置一下.(VSCode版本:1.49.2,Py ...
- 聊聊与前端工程师天然互补的 Serverless
作者:灵轮_(阿里云前端技术专家)_ 作为前端工程师,我们的使命是为用户提供良好的前端用户体验.随着云原生时代的到来,显而易见的,我们能做的更多了.Serverless 产品的特点是免运维.按量付费和 ...