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

【企业服务器LNMP环境搭建】nginx安装

1、介绍(官方网址:nginx news

1.1 常见用法

1) web服务器软件 httpd http协议

同类的web服务器软件:apache nginx(俄罗斯) IIS(微软 fastcgi) lighttpd(德国)

2)代理服务器 反向代理

3)邮箱代理服务器 IMAP POP3 SMTP

4)负载均衡功能 LB loadblance

1.2 Nginx架构的特点:

高可靠:稳定性 master进程 管理调度请求分发到哪一个worker=> worker进程 响应请求 一master多worker

热部署 :(1)平滑升级 (2)可以快速重载配置

高并发:可以同时响应更多的请求 事件 epoll模型 几万

响应快:尤其在处理静态文件上,响应速度很快 sendfile

低消耗:cpu和内存 1w个请求 内存2-3MB

分布式支持 :反向代理 七层负载均衡

2、相关说明

2.1 常见安装方式:

①yum安装配置,需使用Nginx官方源或者EPEL源

2.2 编译参数说明

参数作用
--prefix编译安装到的软件目录
--userworker进程运行用户
--groupworker进程运行用户组
--with-http_ssl_module支持https 需要==pcel-devel==依赖
--with-http_stub_status_module基本状态信息显示 查看请求数、连接数等
--with-http_realip_module定义客户端地址和端口为header头信息 常用于反向代理后的真实IP获取

2.3、目录介绍 (查看安装目录/usr/local/nginx )

目录作用
conf配置文件
html网站默认目录
logs日志
sbin可执行文件 [软件的启动 停止 重启等]

3、脚本实现安装及其初始化

第一步:创建软件运行用户以及安装依赖

# useradd -s/sbin/nologin -M www

安装依赖

#  yum -y install pcre-devel zlib-devel openssl-devel

第二步:编译安装 (安装软件请联系博主)

# cd /root/soft
# tar xvf nginx-1.14.2.tar.gz
# cd nginx-1.14.2
# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module

# make && make install

第三步:查看nginx的二进制可执行文件的相关参数

# cd /usr/local/nginx/sbin

# ./nginx -h

第四步:执行后显示

nginx version: nginx/1.14.2
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
#查看帮助
  -?,-h         : this help
#查看版本并退出
  -v            : show version and exit
#查看版本和配置选项并退出
  -V            : show version and configure options then exit
#检测配置文件语法并退出
  -t            : test configuration and exit
#检测配置文件语法打印它并退出
  -T            : test configuration, dump it and exit
#在配置测试期间禁止显示非错误信息
  -q            : suppress non-error messages during configuration testing
#发送信号给主进程  stop强制退出  quit优雅的退出  reopen重开日志   reload重载配置
  -s signal     : send signal to a master process: stop, quit, reopen, reload
#设置nginx目录  $prefix路径
  -p prefix     : set prefix path (default: /usr/local/nginx/)
#指定启动使用的配置文件
  -c filename   : set configuration file (default: conf/nginx.conf)
#在配置文件之外设置全局指令
  -g directives : set global directives out of configuration file

 一般主要使用:

-s参数控制管理nginx服务

-V参数查看nginx开启的模块和编译参数

-t参数检测配置文件是否有错误

第五步:服务配置

  • 使用社区的服务配置文件

         nginx编译包里默认没有服务启动脚本模板,可以通过社区获得

Red Hat NGINX Init Script | NGINX

 

        将里面的内容 复制创建nginx文件

  • 上传脚本到/etc/init.d目录下

# vim /etc/init.d/nginx

  •   修改软件和配置路径

#执行文件路径  第22行
nginx="/usr/local/nginx/sbin/nginx"
#配置文件路径  第25行
NGINIX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

 第六步:添加开机自启动

# chmod +x /etc/init.d/nginx
# chkconfig --add nginx

# chkconfig nginx on

说明:注意在服务脚本中,有chkconfig配置开启模式、开启顺序、关闭顺序设置

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#              开启模式(0-6)   开启顺序  关闭顺序      
# chkconfig:   - 85 15

 第七步:测试是否能开启

# service nginx start

 

 

拓展,平时公司为了方便都会边写一个shell脚本安装,这样不用每次都是分开跑命令,脚本如下:

#!/bin/bash
#编译安装Nginx
nginx_install(){
#创建软件运行用户
`id www` &>>/dev/null
if [ $? -ne 0 ];thenuseradd -s/sbin/nologin -M www
fi
#安装依赖
yum -y install pcre-devel zlib-devel openssl-devel
#编译安装
cd /root/soft
tar xvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module && make && make install
}
#脚本开始时间
start_time=`date +%s`
#执行的脚本代码
nginx_install
#脚本结束时间
end_time=`date +%s`
#脚本执行花费时间
const_time=$((end_time-start_time))
echo 'Take time is: '$const_time's'

 按上面的sh文件执行完之后,然后 从第三步开始执行查看。

http://www.lryc.cn/news/28423.html

相关文章:

  • Linux 配置规范 操作系统 _S3A3G3
  • 基于信息间隙决策理论的碳捕集电厂调度(Matlab代码实现)
  • 【C语言进阶:指针的进阶】回调函数
  • C++模板的使用
  • 三天Golang快速入门—面向对象
  • 开发手册——一、编程规约_6.并发处理
  • ACM---大一第三周周赛(Floyd算法+并查集算法学习周)
  • spring整合mybatis和Junit
  • Spring Boot 3.0系列【7】核心特性篇之JSON
  • 【数据结构初阶】二叉树顺序结构:堆的实现
  • C/C++:动态内存管理
  • 黑猫带你学eMMC协议第28篇:eMMC的开漏和推挽模式(push-pull open drain)
  • simulink PID控制
  • 如何在for循环内执行异步操作
  • 性能测试——LoadRunner: Controller的使用
  • ChatGPT解答:纯前端文档预览,Vue实现,无需后端,支持Word、Excel、PPT、pdf、文本、图片,附接入demo和文档
  • 刷题记录:牛客NC13950 Alliances 到树上联通点集的最短距离
  • 行为型模式 - 状态模式State
  • 电视剧《狂飙》太过诡异,主演各个悄无声息,龙套演员却身价倍增
  • 【微信小程序】-- 案例 - 本地生活(二十)
  • LeetCode 每日一题 2023/2/27-2023/3/5
  • SpringMVC中JSON数据的设置、RestFul风格
  • Clion连接Docker,使用HElib库
  • go网络编程-websocket
  • Microsoft designer 使用教程
  • 《Docker系列》Docker容器修改配置文件后,重启失败,如何修改配置并启动容器?
  • 遇到多个构造器参数时要考虑使用构建器
  • 【Storm】【五】Storm集成Kafka
  • GVRP-LNP-VCMP讲解
  • 28个精品Python爬虫实战项目