当前位置: 首页 > news >正文

一、Nginx详解和安装

目录

一、简介

1、什么是Nginx

2、Nginx的优点

二、四大应用场景

1、HTTP服务器

2、反向代理

3、负载均衡

4、动静分离

三、Nginx 源码安装

 1、安装相关依赖

2、启动nginx

3、安装成系统服务


一、简介

1、什么是Nginx

        Nginx是一款轻量级的Web服务器,反向代理服务器,特点是占用内存少,并发能力强,启动速度快等特点。

        Nginx专为性能优化而开发,使用异步非阻塞事件驱动模型。

2、Nginx的优点

        1、它可以高并发连接,官方测试能支撑5万并发连接,在实际生产环境中可以支撑2-4万并发连接

        2、内存消耗少

        3、开源

        4、稳定性高

        5、支持热部署

二、四大应用场景

1、HTTP服务器

        Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做为服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。

2、反向代理

        **反向代理:**其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

3、负载均衡

        负载均衡也是Nginx常用的一个功能,负载均衡就是一个Wrb服务器解决不了的问题可以通过多个Web服务器来平均分担压力来解决。并发过来的请求平均分配到多个后台Web服务器来处理。这样压力就没分解了。

4、动静分离

        这个是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源分开,动静资源做好拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。

三、Nginx 源码安装

去官网下载安装包

Nginx官网

或者使用Linux 联网,直接在Linux服务器上使用wget命令把Nginx按转包下载到/usr/local目录下

[root@localhost ~]# wget -c http://nginx.org/download/nginx-1.24.0.tar.gz

 1、安装相关依赖

检查依赖是否安装
[root@localhost ~]# rpm -q gcc
gcc-4.8.5-44.el7.x86_64yum install -y gcc-c++    zlib zlib-devel    openssl openssl-devel pcre pcre-devel解压:
[root@localhost ~]# tar -zxvf nginx-1.24.0.tar.gz#修改名子
[root@localhost home]# mv nginx-1.24.0 nginx#编译安装,安装到/usr/local/nginx 如果报错,可能是缺少相应的依赖包
[root@localhost nginx]# ./configure --prefix=/usr/local/nginx## --prefix= 是你的安装路径,想安装在哪里就写你自己的目录路径提示以下信息 ,就可以直接编译安装了。
Configuration summary+ using system PCRE library+ OpenSSL library is not used+ using system zlib library# 我们直接一条命令搞定make && make install
安装完之后就可以启动了。

2、启动nginx

进入安装好的目录 /usr/local/nginx/sbin

启动:
[root@localhost sbin]# ./nginx快速停止:
[root@localhost sbin]# ./nginx -s stop优雅关闭,在退出前完成已经接受的连接请i去
[root@localhost sbin]# ./nginx -s quit重新加载配置
[root@localhost sbin]# ./nginx -s reload验证是否启动成功
[root@localhost sbin]# ps -ef |grep nginx
root      11554      1  0 14:59 ?        00:00:00 nginx: master process ./nginx
nobody    11555  11554  0 14:59 ?        00:00:00 nginx: worker process
root      11569   1875  0 14:59 pts/0    00:00:00 grep --color=auto nginx或者浏览器访问,如下图
http://192.168.153.128/
如果访问不进去,检查防火墙、
[root@localhost sbin]# systemctl status firewalld
禁止防火墙开机自启动
[root@localhost sbin]# systemctl disable firewalld
或者放行 nginx 的80端口,并重启防火墙
[root@localhost sbin]# firewall-cmd --zone=public --add-port=80/tcp --permanent

3、安装成系统服务

1、创建服务脚本
vim /usr/lib/systemd/system/nginx.service[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target重新加载系统服务
[root@localhost system]# systemctl daemon-reload再次检查进程,并停掉nginx
[root@localhost sbin]# ps -ef |grep nginx
[root@localhost sbin]# ./nginx -s stop
用systemctl启动nginx
[root@localhost sbin]# systemctl start nginx.service 
[root@localhost sbin]# systemctl status nginx.service 
设置开机自启动
[root@localhost sbin]# systemctl enable nginx.service

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 翻译《The Old New Thing》- How do I mark a shortcut file as requiring elevation?
  • 微信小程序毕业设计-跑腿系统项目开发实战(附源码+演示视频+LW)
  • 青蛙跳台阶问题
  • [备忘.经验总结]特例问题通用问题,分而治之
  • 手机App收集个人信息,用户是否有权拒绝?
  • 所有平台均可发布,矩阵操作+工具+素材,自动混剪8090后怀旧视频
  • 牛客循环5.27
  • EPBU/MOBI转PDF
  • fastadmin二次开发 修改默认的前端弹出样式
  • JVM 常见配置参数
  • 汇聚荣科技有限公司怎么样?
  • 人工智能应用层岗位—AI项目经理/AI产品经理
  • 【MySQL】MySQL的安装和基本概念
  • 亚马逊云科技专家分享 | OPENAIGC开发者大赛能量加油站6月5日场预约开启~
  • 文化设计“All in AI”,第二十届文博会中芬设计园分会场盛大开幕
  • __proto__ 和 prototype的关系
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • 30天自制操作系统-2
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Django 博客开发教程 8 - 博客文章详情页
  • ES6--对象的扩展
  • java2019面试题北京
  • js数组之filter
  • log4j2输出到kafka
  • Redis学习笔记 - pipline(流水线、管道)
  • Sass Day-01
  • sessionStorage和localStorage
  • Spring Boot快速入门(一):Hello Spring Boot
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • unity如何实现一个固定宽度的orthagraphic相机
  • vue-cli3搭建项目
  • Vue实战(四)登录/注册页的实现
  • yii2权限控制rbac之rule详细讲解
  • 多线程 start 和 run 方法到底有什么区别?
  • 浮动相关
  • 基于 Babel 的 npm 包最小化设置
  • 理清楚Vue的结构
  • 前端自动化解决方案
  • 区块链分支循环
  • 如何用vue打造一个移动端音乐播放器
  • 手写双向链表LinkedList的几个常用功能
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 我是如何设计 Upload 上传组件的
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 用mpvue开发微信小程序
  • 智能网联汽车信息安全
  • NLPIR智能语义技术让大数据挖掘更简单
  • Semaphore
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • #etcd#安装时出错
  • (02)Hive SQL编译成MapReduce任务的过程
  • (4.10~4.16)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (k8s)Kubernetes 从0到1容器编排之旅