Nginx 服务器
一: 什么是 Nginx?
我们生活的世界中, 有的时候需要上网. 我们可以浏览很多很多的网页, 这些网页都是由一系列的程序组成, 但是我们是否想过, 这些程序存储在什么地方呢? 没错, 这些程序都是存储在一种名叫服务器的硬件上, 比如我们的电脑也是一种服务器, 只不过我们的个人电脑作为服务器的话性能会比较低. 我们的网页程序存储在服务器硬件上, 是否可以随意存储呢? 不是的, 我们需要在服务器硬件的操作系统中搭建一个服务器软件, 那么这样, 有服务器软件跟服务器硬件配合, 才形成一个完整的服务器. 服务器软件有非常多, 比如 Apache,tomcat 等等都是服务器软件, 而我们今天要学习的 Nginx 也是一种服务器软件之一.
Nginx 是一种服务器软件, 故而其最主要, 最基本的功能当然是可以与服务器硬件结合, 让程序员可以将程序放在 Nginx 服务器上, 将程序发布出去, 让成千上万的网民可以浏览. 除此之外, Nginx 是一种高性能的 HTTP 和反向代理服务器, 同时也是一个代理邮件服务器. 也就是说, 我们 Nginx 上可以发布网站, 也可以实现负载均衡的功能, 还可以作为邮件服务器实现收发邮件等功能. 所谓的负载均衡是指, 当同时有 N 多用户访问我们服务器的时候, 为了减少服务器压力, 我们需要将用户分别引入各服务器, 分担服务器的压力.
Nginx 与其他服努器的性能比较
首先说 IIS, IIS 服务器只能在 Windows 上运行, Windows 服务器性能不如 Linux- 类服务器. 其次说 Tomcat,Tomcat 服务器面向的是 Java 语言, 是一种重量级的服 务器, 而 Nginx 是轻量级服务器, Tomcat 与 Nginx 不具备可比性. 最后, 我们讲一 下 Apache,Apache 优点非常多, 比如稳定, 幵源, 跨平台等等, 但是 Apache 不支 持高并发. Nginx 能支持处理百万级的 TCP 连接, 10 万以上的并发连接, 并且是一 个很好的跨平台服务器.
Nginx 的主要优点有可以实现高并发, 部署简单, 内存消耗少, 成本低等等.
Nginx 的主要缺点有 rewrite 功能不够强大, 模块没有 Apache 的多.
- [root@hostname conf]# ls // 查看目录
- fastcgi.conf koi-win scgi_params
- fastcgi.conf.default mime.types scgi_params.default
- fastcgi_params mime.types.default uwsgi_params
- fastcgi_params.default nginx.conf uwsgi_params.default
- koi-utf nginx.conf.default win-utf
- [root@hostname conf]# touch fzjh.conf // 新建负载均衡配置文件
- vi fzjh.conf
- worker_processes 1;# 工作进程的个数, 一般与计算机的 CPU 核数一致
- events {
- worker_connections 1024;# 单个进程最大连接数 (最大连接数 = 连接数 * 进程数) 并发
- }
- http {
- include mime.types; #文件扩展名与文件类型映射表
- default_type application/octet-stream;# 默认文件类型
- sendfile on;# 开启高效文件传输模式, sendfile 指令指定 nginx 是否调用 sendfile 函数来输出文件, 对于普通应用设为 on, 如果用来进行下载等应用磁盘 IO 重负载应用, 可设置为 off, 以平衡磁盘与网络 I/O 处理速度, 降低系统的负载. 注意: 如果图片显示不正常把这个改成 off.
- keepalive_timeout 65; #长连接超时时间, 单位是秒
- gzip on;# 启用 Gizp 压缩
- #服务器的集群
- upstream myproject { #服务器集群名字
- server 220.181.111.188:80 weight=1;# 服务器配置 weight 是权重的意思, 权重越大, 分配的概率越大.
- server 42.121.252.58:80 weight=2;
- }
- #当前的 Nginx 的配置
- server {
- listen 80; #监听 80 端口, 可以改成其他端口
- server_name localhost; ############## 当前服务的域名
- location / { ## 配置路径 / 下实现负载均衡
- proxy_pass http://myproject; ## 对应哪个服务器集群
- proxy_redirect default;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.HTML {
- root HTML; #根目录
- }
- }
- }
- tp {
- ....
- upstream myproject {
- ip_hash; #实现会话跟踪
- server 140.205.140.234;
- server 61.135.169.125;
- }
- ....
- # HTTPS server
- #
- #server {
- # listen 443 ssl;
- # server_name localhost;
- # ssl_certificate cert.pem;
- # ssl_certificate_key cert.key;
- # ssl_session_cache shared:SSL:1m;
- # ssl_session_timeout 5m;
- # ssl_ciphers HIGH:!aNULL:!MD5;
- # ssl_prefer_server_ciphers on;
- # location / {
- # root HTML;
- # index index.HTML index.htm;
- #
- }
- #
- }
- server {
- listen 80;
- server_name localhost;
- rewrite ^(.*) https://$host$1 permanent;
- ...
来源: https://www.cnblogs.com/ystblog/p/13044226.html