Nginx简介

  • 什么是nginx?

Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

  • nginx的应用场景

1、http服务器。nginx是一个http服务可以独立提供http服务。可以作网页静态服务器。

2、虚拟主机。可以实现在一台服务器上虚拟出多个网站。

3、反向代理,负载均衡。当网站的访问量达到一定的程度后,单台服务器已经无法满足高并发请求时,需要多台服务器集群使用NGINX做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载过高宕机而使服务器无法使用。

  • nginx安装

官网下载:http://nginx.org/

由于nginx是使用C语言编写,官方只提供了源码。所以需要提前配置好安装环境。

1、安装PCRE

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

yum install pcre pcre-devel -y

2、安装zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yum install zlib zlib-devel -y

3、安装openssl

OpenSSL 是一个强大的安全(不知道为什么这里被敏感了)套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install openssl openssl-devel -y
  • 安装步骤

1、解压nginx源码包

tar xzvf nginx-1.8..tar.gz

2、使用解压出来的configure可执行文件创建MakeFile文件

./configure --prefix=/usr/local/nginx

3、make && make install

make && make install

如果在安装过程中没有报错,那么恭喜你,nginx已经安装完成。

4、启动nginx

cd /usr/local/nginx/sbin
./nginx
或者
/usr/local/nginx/sbin/nginx
或者指定配置文件启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

5、关闭nginx

./nginx -s stop
但是推荐使用
./nginx -s quit

6、重启nginx

./nginx -s reload

7、访问nginx

在浏览器地址栏输入:你的ip地址就可以看到nginx了

  • 配置虚拟主机

虚拟主机配置有两种方式,一种是域名不同,一种是端口不同

1、端口不同

#如果conf下面没有nginx.conf文件
#将nginx.conf.default复制一份为nginx.conf即可
vim /usr/local/nginx/conf/nginx.conf #user nobody;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections ;
} 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 ;
keepalive_timeout ; #gzip on;
#一个server就是一个虚拟主机
server {
########这里的端口是80
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
}
}
server {
########这里的端口是81
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html-;
index index.html index.htm;
}
}
}
这样,同一个地址,不同的端口可以访问不同的网站。 、域名不同 #user nobody;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections ;
} 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 ;
keepalive_timeout ; #gzip on; server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
}
}
##################################
####这里的域名为www.yalogs.com######
##################################
server {
listen ;
server_name www.yalogs.com; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
}
}
########################################
####这里的域名为www.image.yalogs.com######
####这个域名实际上是yalogs的图片服务器的域名##
####但是确是两个不同的网站##################
########################################
server {
listen ;
server_name www.image.yalogs.com; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
}
}
}

这样不同的域名就可以访问同一个服务器中不同的网站。

  • 反向代理,负载均衡

1、安装两个tomcat,分别运行在8080和8180端口上。

2、启动两个tomcat。

3、反向代理和负载均衡的配置

upstream tomcat1 {
server 192.168.0.10:8080;
server 192.168.0.11:8180 weight=2;
}
server {
listen 80;
server_name www.sina.com.cn; #charset koi8-r; #access_log logs/host.access.log main; location / {
proxy_pass http://tomcat1;
index index.html index.
}
}

上面的wight=2是调整服务器的权重,权重越大,分配到的请求越多。

  • NGINX高可用

    • ​​​​​​​通过使用keepalived+nginx实现(知道有这个东西就OK了)
  • 结束语
    • ​​​​​​​到这里NGINX的安装配置,负载均衡就已经实现了,以后忘了就来看看就OK了,嘿嘿,有没有很机智。。。。。

Nginx的安装配置和tomcat负载均衡的更多相关文章

  1. haproxy安装配置for mysql负载均衡(ubantu)

    1.安装pcre apt-get update (apt-get install openssl libssl-dev  ==>可能需要安装的依赖包) apt-get install libpc ...

  2. 配置apache和nginx的tomcat负载均衡

    概述 本篇文章主要介绍apache和nginx的相关配置,tomcat的相关安装配置我在前面有写过一篇,详细介绍通过两种配置方法配置nginx. tomcat配置参考:http://www.cnblo ...

  3. Linux下Nginx+Tomcat负载均衡和动静分离配置要点

    本文使用的Linux发行版:CentOS6.7 下载地址:https://wiki.centos.org/Download 一.安装Nginx 下载源:wget http://nginx.org/pa ...

  4. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  5. 转】Nginx+tomcat配置集群负载均衡

    原博文出自于:http://blog.csdn.net/bruce_6/article/details/38228299         感谢! 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...

  6. Nginx+tomcat配置集群负载均衡

    开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供web服务和socket等接口服务.之初,曾有个小小的疑问为何不采用开源的a ...

  7. Nginx + Tomcat 负载均衡配置详解

    Nginx常用操作指南一.Nginx 与 Tomcat 安装.配置及优化1. 检查和安装依赖项 yum -y install gcc pcre pcre-devel zlib zlib-devel o ...

  8. Linux配置Nginx+Tomcat负载均衡

    cd /usr/local/tomcat1/webapps/ROOT/ tar -zxvf nginx-1.14.2.tar.gz -C /usr/local 一.Linux配置Nginx 一.下载N ...

  9. Docker+nginx+tomcat7配置简单的负载均衡

    本文为原创,原始地址为:http://www.cnblogs.com/fengzheng/p/4995513.html 本文介绍在Docker上配置简单的负载均衡,宿主机为Ubuntu 14.04.2 ...

随机推荐

  1. Markov Decision Processes

    为了实现某篇论文中的算法,得先学习下马尔可夫决策过程~ 1. https://leonardoaraujosantos.gitbooks.io/artificial-inteligence/conte ...

  2. Apache Server与多个独立Tomcat集成

    取经自http://www.ramkitech.com/2012/03/virtual-host-apache-httpd-server-tomcat.html 继续干Tomcat和Apache Se ...

  3. Finder 快捷键

    记录几个常用的 Finder 快捷键: 复制 Finder 里选中的路径:option+cmd+c 地址栏跳到指定路径:shift+cmd+g 增加标签:cmd+t 显示/隐藏 标签栏:shift+c ...

  4. JavaScript常用库

    提供个学习几种库的url,记录下. 1.JavaScript简介 JavaScript是Netscape公司开发的一种脚本语言(scripting language).JavaScript的出现使得网 ...

  5. EasyDarwin开源手机直播方案:EasyPusher手机直播推送,EasyDarwin流媒体服务器,EasyPlayer手机播放器

    在不断进行EasyDarwin开源流媒体服务器的功能和性能完善的同时,我们也配套实现了目前在安防和移动互联网行业比较火热的移动端手机直播方案,主要就是我们的 EasyPusher直播推送项目 和 Ea ...

  6. 使用JavaScript获取浏览器UserAgent

    可以在浏览器地址栏输入about:version来查看UserAgent等信息 但是在Win10系统,本人亲测,IE和Edge用这样的方式都获取不到信息 在我惯用的QQ浏览器上倒是可以获取到 为了能方 ...

  7. Javascript学习之正则表达式详解

       什么是正则表达式(regular expreSSion) 正则表达式是一个描述字符模式的对象. 可以处理更复杂的字符串 JavaScript中的正则表达式使用RegExp对象表示 正则表达式用于 ...

  8. appcompat_v7出现红叉解决方法

    右键属性,java build path 勾选Android5.5.2

  9. 管中窥Vue

    博客文章链接:管中窥Vue Vue和Angular.React.js的相同点和不同点? 与React的相同: 都使用了Virtual DOM 提供了响应式和组件化的视图组件 将注意力集中保持在核心库, ...

  10. POJ1456 Supermarket —— 贪心 + 路径压缩优化

    题目链接:http://poj.org/problem?id=1456 Supermarket Time Limit: 2000MS   Memory Limit: 65536K Total Subm ...