文档章节

nginx 入门、安装与简单使用

辣妈程序媛
 辣妈程序媛
发布于 2018/03/11 16:45
字数 1158
阅读 31
收藏 31

本文内容:
1. nginx 简介
2. nginx 安装
3. nginx 简单使用

一、Nginx 的三大功能

1.HTTP服务器

Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。

2.反向代理服务器

Nginx也是反向代理服务器。

说反向代理之前先说一下正向代理,正向代理相信很多大陆同胞都在这片神奇的土地上用过了。就是访问国外网被墙了,然后找个代理服务,通过该服务器访问国外网站,这个是正向代理。

反向代理是 客户端访问代理服务器,但是代理服务器没有用户需要的资源,然后代理服务器偷偷访问应用服务器,获取资源返回给用户,用户不知道代理服务器是访问了应用服务器,代理服务器也隐藏了应用服务器的url。(反向代理的典型用途是将 防火墙后面的服务器提供给Internet用户访问)

这里写图片描述

3.负载均衡

Nginx可以通过反向代理来实现负载均衡。

这里写图片描述

二、Nginx 安装

2.1 CentOS 7 安装 Nginx

2.1.1.添加Nginx到YUM源

添加CentOS 7 Nginx yum资源库,打开终端,使用以下命令:

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.2.2.安装Nginx

在你的CentOS 7 服务器中使用yum命令从Nginx源服务器中获取来安装Nginx:

sudo yum install -y nginx
  • Nginx将完成安装在你的CentOS 7 服务器中。

2.2.3. Nginx启动

nginx -c nginx.conf

启动后就可以访问 域名或者本机IP 如果出现下图,说明启动成功。

这里写图片描述

2.2.4. Nginx 停止

//查询出nginx的pid 
ps -ef|grep nginx
//通过kill 命令杀死 nginx 
kill pid
注意图中nginx的 pid 为 10497
  • 这里写图片描述

2.2.5. Nginx配置信息

网站文件存放默认目录

/usr/share/nginx/html
  • 网站默认站点配置
/etc/nginx/conf.d/default.conf

自定义Nginx站点配置文件存放目录

/etc/nginx/conf.d/

Nginx全局配置

/etc/nginx/nginx.conf

2.2 docker 安装 Nginx

2.2.1下载镜像,

docker pull nginx:1.9

2.2.2 启动容器,

docker run -d -p 8080:80 nginx:1.9

把容器内的nginx的80端口,映射到当前服务器的8080端口,假设当前服务器的ip是192.168.0.100,浏览器输入http://192.168.0.100:8080/,就可以看到nginx已启动,

三、Nginx 的简单实用

关于静态资源服务器的使用这里就不做说明了。

3.1 反向代理

小例子:实现访问本机 ip 然后代理 我的博地址 ,也就是在浏览器输入本机地址,然后跳转到我的博客。

3.1.1 本地安装nginx

如果是本地安装的nginx 的话需要修改 /etc/nginx/conf.d/default.conf 配置文件

注释原有的 location 然后替换为新的location

//注释原有的
#    location / {
 #       root   /usr/share/nginx/html;
  #      index  index.html index.htm;
   # }

//新添加的
location / {
    proxy_pass http://blog.csdn.net/u012373815?viewmode=list;
}

然后重启nginx ,访问本机ip 就会代理到“http://blog.csdn.net/u012373815?viewmode=list“ 我的博客地址。

3.1.2 Docker 安装

如果是docker 安装的话,需要本地随意目录下新建default.conf 文件,内容如下:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
    proxy_pass http://blog.csdn.net/u012373815?viewmode=list;
}


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

然后重新启动容器,将default.conf 文件映射到docker容器内。
启动命令如下:

docker run -p 8080:80 --name myNginx -v /本地路径/default.conf:/etc/nginx/conf.d/default.conf -d nginx:1.9  

容器启动后 ,访问本机ip 就会代理到“http://blog.csdn.net/u012373815?viewmode=list“ 我的博客地址。

3.2 负载均衡

上面的配置只实现了反向代理没有实现传说中的负载均衡。所有的请求就都被反向代理到 我的博客地址去了。这样我们反向代理的功能是实现了,可是就能代理到一台服务器上哪有什么负载均衡呀?这就要用到 nginx 的 upstream 模块了。

upstream backend {
    ip_hash;    
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
    server backend4.example.com;
}
location / {
    proxy_pass http://backend;
}

我们在 upstream 中指定了一组机器,并将这个组命名为 backend,这样在 proxypass 中只要将请求转移到 backend 这个 upstream 中我们就实现了在四台机器的反向代理加负载均衡。其中的 iphash指明了我们均衡的方式是按照用户的 ip 地址进行分配。
要让配置生效,我们不必重启 nginx 只需要 reload 配置即可。

参考资料:
http://blog.csdn.net/u012486840/article/details/52610320
http://www.jb51.net/article/61137.htm

 

本文转载自:http://blog.csdn.net/u012373815/article/details/54911332

共有 人打赏支持
辣妈程序媛
粉丝 14
博文 79
码字总数 0
作品 0
私信 提问
mogilefs简单入门

拓扑图 安装mogilefs 本地安装的rpm包,下载地址http://down.51cto.com/data/2290310 MogileFS-Server-2.46-2.el6.noarch.rpm perl-Danga-Socket-1.61-1.el6.rf.noarch.rpm MogileFS-Server......

Ailu0li
2017/03/02
0
0
后端技术栈

Nginx 工作原理和优化、漏洞(下) Nginx 工作原理和优化、漏洞(下) Mysql查询性能优化的心得 前言:之前实习时候做过一阵子的查询优化,那段时间结合阅读《高性能mysql》,有些心得体会,...

掘金官方
2017/12/06
0
0
Docker 入门实践

欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:张戈 导语:应用场景从创建、上传直到部署的详细过程,并简单的介绍了腾讯云容器服务的使用方法。通过Docker快速拉起一...

2017/12/18
0
0
java视频教程,java高并发解决方法教程!

还记得每年双11淘宝的盛况吗?你是不是进不去,是不是不能付款?其实这就是我们常说的大量并发问题么有解决,这工作中,热点网站 频繁出现的大量并发如何去解决? 今天我推荐的课程中,大家就...

小小倾听
01/07
0
0
macOS 安装 Docker

前几天,docker入门是在aws的ubuntu机器上演示的,下面介绍如何在macOS安装Docker。 系统要求 Docker for Mac 要求系统最低为 macOS 10.10.3 Yosemite,或者 2010 年以后的 Mac 机型,准确说...

若与
2017/10/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用神器BTrace 追踪线上 Spring Boot应用运行时信息

概述 生产环境中的服务可能会出现各种问题,但总不能让服务下线来专门排查错误,这时候最好有一些手段来获取程序运行时信息,比如 接口方法参数/返回值、外部调用情况 以及 函数执行时间等信...

CodeSheep
34分钟前
3
0
OSChina 周四乱弹 —— 我想过年请假提前回家两天

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 分享王力宏的单曲《爱错》 《爱错》- 王力宏 手机党少年们想听歌,请使劲儿戳(这里) @Caremorele :这几天起床有点...

小小编辑
今天
42
5
Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
3
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部