文章目录
Nginx 安装教程
1、Nginx 简介
1.1、Nginx概述
Nginx (“engine x”) 是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
1.2、Nginx作为web服务器
Nginx可以作为静态页面的web服务器,同时还支持CGI协议的动态语言,比如perl、php等。但是不支持java。Java程序只能通过与tomcat配合完成。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高达 50,000个并发连接数。
1.3、正向代理
1.4、反向代理
-
**反向代理:**其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
1.5、负载均衡
-
这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较适合的,成本也低。但是随着信息数量的不断增长,访问量和数据量的飞速增长,以及系统业务的复杂度增加,这种架构会造成服务器相应客户端的请求日益缓慢,并发量特别大的时候,还容易造成服务器直接崩溃。很明显这是由于服务器性能的瓶颈造成的问题,那么如何解决这种情况呢?
-
我们首先想到的可能是升级服务器的配置,比如提高CPU执行频率,加大内存等提高机器的物理性能来解决此问题,但是我们知道摩尔定律的日益失效,硬件的性能提升已经不能满足日益提升的需求了。最明显的一个例子,天猫双十一当天,某个热销商品的瞬时访问量是极其庞大的,那么类似上面的系统架构,将机器都增加到现有的顶级物理配置,都是不能够满足需求的。那么怎么办呢?
-
上面的分析我们去掉了增加服务器物理配置来解决问题的办法,也就是说纵向解决问题的办法行不通了,那么横向增加服务器的数量呢?这时候集群的概念产生了,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
1.6 、动静分离
2、Nginx 安装
2.1、进入Nginx官网,下载
2.2、需要的安装包
### 这些安装包是在你离线没有网络的情况下安装的
pcre-8.37.tar.gz rewrite正则相关pcre:URL重写软件,实现伪静态URL跳转等、SEO优化。
openssl-1.0.1t.tar.gz https加密访问用它
zlib-1.2.8.tar.gz 提供数据压缩用
nginx-1.12.2.tar.gz
链接:https://pan.baidu.com/s/19IlP0m0UG1_iv6mobcaNwg
提取码:w3sk
Nginx 安装包 需要自行下载
2.3、在线安装nginx(编译安装)
2.3.1、安装pcre
2.3.2、安装openssl、zlib、gcc依赖
yum -y install make zlib zlib–devel gcc–c++ libtool openssl openssl–devel
configure参数作用
nginx -V 查看安装的参数及模块
参数作用:
--prefix=PATH 路径 如果不指定nginx默认安装位置在 /usr/local
--user=USER 用户
--group=GROUP 组
--with-pcre 伪静态
--with-http_stub_status_module 状态
--with-http_ssl_module 加密 443
例如
./configure --user=www --group=www --prefix=/application/nginx-1.12.2/ --with-http_stub_status_module --with-http_ssl_module --with-pcre
### 这不需要执行
2.3.3、安装nginx
2.3.4、访问Nginx
2.3.5 、扩展 (可以不需要进行操作)
-
-
增加后执行下面,使之生效
-
-
vim /usr/lib/systemd/system/nginx.service
[Unit] Description=The nginx HTTP and reverse proxy server After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/bin/rm -f /usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload KillSignal=SIGQUIT TimeoutStopSec=5 KillMode=process PrivateTmp=true [Install] WantedBy=multi-user.target
-
chmod 777 /usr/lib/systemd/system/nginx.service # 任何用户都可以对这个文件进行可读可写可执行操作 systemctl enable nginx # 设置开机自动 pkill nginx # 杀掉之前的启动的nginx systemctl start nginx # 启动nginx lsof -i :80 # 查看80端口占用 如果没有这个命令则执行 yum install -y lsof COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 21105 root 6u IPv4 67730 0t0 TCP *:http (LISTEN) nginx 21106 nobody 6u IPv4 67730 0t0 TCP *:http (LISTEN)
-
2.4、离线安装nginx
2.4.1、安装prce
2.4.2、安装openssl
2.4.3、安装zlib
2.4.4、安装Nginx
2.4.5、访问Nginx【参照2.3.4】
2.5、通过yum方式安装
2.5.1、配置nginx源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
2.5.2 、安装并启动
- yum install nginx -y 安装nginx
- systemctl start nginx 启动nginx
- systemctl enable nginx 设置开机自启动
- systemctl status nginx 查看nginx服务状态
2.5.3、 验证安装是否成功
2.6、通过Docker方式安装
2.6.1、安装nginx镜像
-
启动nginx
-
访问nginx ip:port
原文地址:https://blog.csdn.net/qq_36838700/article/details/129971765
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_28418.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!