2019-04-30 Nginx服务初步

2019-05-11  本文已影响0人  Ffvc

Day44

作者:方
归档:课堂笔记
时间:2019/4/30

Nginx服务初步

1. 什么是Nginx

是一个开源的、支持高性能、高兵法的www服务和代理服务软件。
Nginx是目前最流行的Web服务软件!
现已被F5收购。

2. Nginx的三大功能:

 1) 网页服务:自身是静态Web服务,还支持动态Web服务
 2) 负载均衡、反向代理
 3) 缓存服务器

3. Nginx特点

静态小文件高并发,占用资源少,软件本身小

4. Nginx的应用场景

1)  静态Web服务器,使用Nginx运行HTML、JS、CSS、小文件等静态数据,做静态服务器
2)  配合运行动态Web服务器
3)  做反向代理负载均衡,目前是常见的http的负载均衡
4)  做Web缓存服务器(把文件放入内存里)

5. 反向代理与负载均衡

什么是代理:海外代购、微商;代替别人做事

正向代理:代替,效率低。局域网电脑上网由代理服务器代替你的电脑去访问服务器。

反向代理:代替,效率低。互联网上的用户需要打开服务器上的网站时,需要请求代理服务器去访问内部的服务器,代替用户去访问内部服务器上的资源。(大并发的情况下是不行的)

负载均衡:是转发而不是代理,效率高。用户请求网站,负载均衡把请求发给服务器,处理完后服务器直接把结果返回给用户,不经过负载均衡。

6. 为什么Nginx总体性能比Apache高?

Nginx使用最新的epoll和queue一部网络I/O模型,而Apache则使用的是传统的select模型。

select和epoll的区别:打比方
select模型:比如:伙伴去宿舍找你,一个屋一个屋的找,效率低。

epoll模型:比如:伙伴去宿舍找你,先问宿管,看看在哪个屋,然后直奔那个屋,效率高。

select模型:比如:小孩撒尿,挨个问要不要撒,如果要,就拉出来带着去。

epoll模型:比如:小孩撒尿,统一告知如果要尿尿,你就站出来

7. 软件安装方式

1)  rpm安装,简单、快、依赖多,解决依赖困哪繁琐
2)  yum安装,简单、快,自动解决依赖,但不能选择软件版本和存放路径
3)  编译安装(源码编译),慢、复杂、需要GCC编译器,但可以自定义安装(版本和存放路径)
4)  将源码制作成rpm,然后放到yum仓库,实现yum自动安装。一次性慢,复杂,安装快,可以自定义安装
5)二进制安装!

8. Nginx安装

8.1yum安装

1)配置官方源
image.png
2)下载 
image.png
3)开启,自启,检查   systemctl三连击
image.png
显示成功
image.png

8.2编译安装:(和8.1二选一)

安装Nginx所需的pore:URL重写软件,即实现伪静态需要这个软件

1)  采用yum方式安装pcre:(带delve字符串的软件包是必须安装的)(依赖包)     

yum install pcre pcre-devel -y

image.png

安装后检查安装结果:

image.png
2)  安装openssl-devel(带delve字符串的软件包是必须安装的)加密用的,必须安装,不然会报错。(依赖包)

yum install openssl-devel openssl -y

安装后检查安装结果
rpm -qa openssl-devel openssl

image.png
3)  开始安装Nginx

创建/server/tools目录固定存放安装的软件

mkdir -p /server/tools

进入这个目录

cd /server/tools/

下载软件包,进入官网下载这个[http://nginx.org/download/nginx-1.16.0.tar.gz*]
wget http://nginx.org/download/nginx-1.16.0.tar.gz

image.png

创建nginx用户,不创建家目录并不让登录
useradd nginx -s /sbin/nologin -M

解压
tar xf nginx-1.16.0.tar.gz

cd nginx-1.16.0

./configure --user=www --group=www --prefix=/application/nginx-1.16.0/ --with-http_stub_status_module --with-http_ssl_module --with-pcre

image.png

configure参数的作用

--prefix=PATH 路径
--user=USER 用户
--group=GROUP 组
--with-pcre 伪静态
--with-http_stub_status_module 状态
--with-http_ssl_module 加密 443

编译
make *

把软件拷贝到指定的位置
make install

创建软链接
ln -s /application/nginx-1.16.0/ /application/nginx

4)  启动nginx。到此完成

/application/nginx/sbin/nginx

检查端口:netstat -lntup|grep nginx

image.png
   5)   注意:

①每一步结尾直接echo $?验证是否正确。返回0代表步骤正确

②验证最终的安装是否正确。
wget 10.0.0.8 curl 10.0.0.8

编译安装配置:

[root@web02 /application/nginx]# tree
.
├── conf
│ ├── fastcgi.conf #和动态服务的接口配置参数,配合php
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types #媒体类型
│ ├── mime.types.default
│ ├── nginx.conf #主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default #和动态服务的接口配置参数
│ ├── uwsgi_params
│ ├── uwsgi_params.default #和动态服务的接口配置参数,配合Python
│ └── win-utf
├── fastcgi_temp
├── html #默认站点目录。
│ ├── 50x.html
│ └── index.html #默认的首页,10.0.0.8不指定文件,默认加载index.html首页。
├── logs
│ ├── access.log #访问日志
│ ├── error.log #Nginx错误日志。
│ └── nginx.pid #进程号对应文件。
├── sbin
│ └── nginx #启动命令。

[root@web02/application/nginx/html]# vim index.html

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.

Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
~

上一篇下一篇

猜你喜欢

热点阅读