https://www.nginx.com/resources/admin-guide/load-balancer/

https://github.com/gplessis/dotdeb-nginx/blob/jessie/debian/conf/nginx.conf#L4

1、更新Ubuntu

# add-apt-repository ppa:ondrej/nginx  #仓库名称
# apt-get update
# apt-get install -y libssl1.0.2 openssl

2、安装Nginx

# apt-get install -y nginx
# apt-get install -y nginx-extras

查看nginx启用模块

nginx -V

浏览器输入IP地址可以打开Nginx服务页面

3、设置Nginx通用配置文件

Nginx反向代理以及负载均衡配置

Nginx的负载均衡策略

cat /etc/nginx/nginx.conf

user www-data; #ubuntu里面nginx用户名
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf; events {
worker_connections 1024;
# multi_accept on;
} http { ##
# Basic Settings
## sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off; #关闭显示nginx版本 server_names_hash_bucket_size 64;
# server_name_in_redirect off; include /etc/nginx/mime.types;
default_type application/octet-stream; ##
# SSL Settings
## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
ssl_ciphers "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:EECDH+AESGCM:EDH+AESGCM:AES2
56+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # Requires nginx >= 1.5.9
# ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7 ##
# Logging Settings
## 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 /data/log/nginx/access.log main;
error_log /data/log/nginx/error.log; ##
# Gzip Settings
## gzip on;
gzip_vary on;
gzip_min_length 1k;
gzip_buffers 4 32k;
gzip_disable "msie6";
gzip_disable "MSIE [1-6].";
gzip_http_version 1.1;
gzip_comp_level 3;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/javascript application/json;
##
# Proxy Headers
##
include /etc/nginx/proxy.conf; #设置代理头信息
more_set_headers "Server: Customer Web Server Header"; ##
# Virtual Host Configs
## include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*; #配置各个站点的信息
}

4、设置Nginx代理

cat /etc/nginx/proxy.conf

proxy_redirect          off;
proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr; #获取真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取代理者的真实ip
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout ;
proxy_send_timeout ;
proxy_read_timeout ;
proxy_buffer_size 4k;
proxy_buffers 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

5、设置站点配置信息

cd /etc/nginx/sites-enabled/

upstream local_iis_80 {
ip_hash;
#least_conn;
server 后端IP1: max_fails= fail_timeout=10s weight=;
server 后端IP2: max_fails= fail_timeout=10s weight=;
keepalive ; #防止出现nginx向后端发请求的时候连接打爆了
} upstream local_iis_443 {
ip_hash;
#least_conn;
server 后端IP1: max_fails= fail_timeout=10s weight=;
server 后端IP1: max_fails= fail_timeout=10s weight=;
keepalive ; #防止出现nginx向后端发请求的时候连接打爆了
} server {
listen ;
charset utf-; location / {
proxy_pass http://local_iis_80;
}
} server {
listen ssl http2; #支持http2
charset utf-; ssl_certificate /data/cert/证书.crt;
ssl_certificate_key /data/cert/证书.key; location / {
proxy_pass https://local_iis_443;
}
}

6、查看防火墙

iptables -L -n -v

7、此时我们修改了文件,是不是就意思着必须先关了nginx再重新启动了,其实不必,nginx可以重新加载文件的。

我们直接运行:

nginx -s reload  

如果不想直接加载,而只是想看看自己的配置文件有没有问题,可以直接输入:

nginx -t  

或者合并执行,

nginx -t && nginx -s reload

Ubuntu默认防火墙安装、启用、配置、端口、查看状态相关信息

Ubuntu 安装nginx的更多相关文章

  1. ubuntu安装nginx踩坑

    ubuntu安装nginx 安装nginx tar -zxvf nginx-1.15.5.tar.gz -C /usr/local/src 解压 cd /usr/local/src/nginx-1.1 ...

  2. ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library

    ubuntu安装nginx时提示error: the HTTP rewrite module requires the PCRE library 须要安装pcre包. sudo apt-get upd ...

  3. Ubuntu安装Nginx+PHP7.0.4+MySQL5.6

    安装Nginx 1.首先添加nginx_signing.key(必须,否则出错) $ wget http://nginx.org/keys/nginx_signing.key $ sudo apt-k ...

  4. Ubuntu 安装 Nginx 实现反向代理

    安装Nginx依赖库(ubuntu平台) 最近域名通过了备案, 想着应用总不能带着端口号访问吧, 于是在网上踩了很多坑, 终于找到了一步直达的方法,起码这一次很顺利的实现了 安装gcc g++的依赖库 ...

  5. ubuntu安装nginx和设置网站https访问

    安装nginx 在控制台 输入 sudo apt-get install nginx 等待安装成功之后.可以打开浏览器.输入你的域名或者ip地址会出现"Welcome to nginx!&q ...

  6. ubuntu安装Nginx

    什么都不说了 直接干 一.安装Nginx 首先从Nginx的官网下载最新的稳定版本1.14.0:nginx 1.解压安装包 1.root@ubuntu:tar -zxf nginx-1.14.0.ta ...

  7. ubuntu安装nginx pagespeed

    一.自动安装 使用最新稳定版本的ngx_pagespeed自动安装依赖项并构建最新的主线版nginx,请运行: $ sudo bash <(curl -f -L -sS https://ngxp ...

  8. ubuntu 安装nginx, 出现 Unable to locate package

    今天在初始化一台新的ubuntu 服务器时,敲上了 sudo apt-get install nginx 来安装nginx, 却发现提示:  Reading package lists... Done ...

  9. ubuntu安装nginx及其默认目录结构

    一. 安装包安装 1.1 安装Nginx $sudo apt-get install nginx Ubuntu安装之后的文件结构大致为: 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经 ...

随机推荐

  1. poj 3415

    对拍没错..莫名wa了 利用容斥求每个串的重复子串 其实就是找到每个元素能扩展到的最大元素 即(rr-i)*(i-lr)*(w[i]-kk) 就可以了 然后处理这个先离散化再搞 另外是x y要清空 # ...

  2. 关于 C++ STL

    一.STL简介 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R ...

  3. ACM题目中的时间限制与内存限制 复杂度的估计

    运行时限为1s,这很常见,对于该时限,我们设计的算法复杂度不能超过百万级别,即不要超过一千万.假如你的算法时间复杂度为O(n^2),则n不应该大于3000 空间限制是32MB,即你程序中申请的内存不能 ...

  4. 高级Bash脚本编程指南《Advanced Bash-Scripting Guide》 in Chinese

    <Advanced Bash-Scripting Guide> in Chinese <高级Bash脚本编程指南>Revision 10中文版 在线阅读链接:http://ww ...

  5. (转)CASE WHEN 用法

    Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END   ...

  6. 类的 __call__ 和__repr__ 方法

    __call__: 让类实例可以被调用: __str__ , __repr__ : 两个都能是类实例名能被打印,区别在于repr可在交互是直接打印类名不用加print

  7. Java设计模式从精通到入门二 装饰器模式

    介绍 ​ 我尽量用最少的语言解释总结: ​ Java23种设计模式之一,属于结构型模式,允许向一个现有的对象添加新的功能,不改变其结构. 应用实例: ​ 给英雄联盟种的射手,添加不同的装备.先装备攻速 ...

  8. Python学习——迭代器&生成器&装饰器

    一.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退迭代器的一大优点是不要求事先准备好整个迭代过程中所有的元素.迭代器仅 ...

  9. Java并发程序设计(九)设计模式与并发之不变模式

    设计模式与并发之不变模式 使用不变模式的目的:除去多线程中的同步操作,提高并行程序的性能. 一个类在的内部状态创建后,在整个生命周期内都不会发生改变,该类就是不变类. /** * @author: T ...

  10. java运行时could not open ........jvm.cfg问题的解决

    我相信这个问题肯定让不少人头疼.小编也纠结了将近3个小时的时间,终于弄明白这是怎么回事并且解决 java都知道时运行命令,不能打开...jvm.cfg很明显是jre虚拟机出现了问题(要么时jre的路径 ...