Nginx web服务器简介

  Nginx ("engine x") 是一个高性能HTTP 和 反向代理 服务器、IMAP、POP3、SMTP 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

Nginx处理请求过程

1.nginx 程序开启之后 ,nginx 命令启动给nginx 程序发送启动信号,nginx 会开启master进程,由master读取配 置文件决定开启几个worker进程。

2.每个worker进程都是从Master进程fork生成出来,在Master进程里面,建立好需要listen 80端口的socket连接 (listenfd)之后,会fork出多个worker进程。

3.所有worker进程的listenfd会在被连接或者被请求到来时变得可读可连接,为保证只有一个进程处理该连接,所有 worker进程在注册listenfd读事件链接前抢accept_mutex“令牌”,抢到互斥锁“令牌”的那个进程注册listenfd读事件 链接,在读事件里调用accept信号接受该连接。

4.当一个worker进程在accept信号这个连接之后,就开始读取请求、解析请求、处理请求,产生数据后,再返回给客户 端,最后才断开连接,这样形成一个完整的请求流程

Nginx管理命令:

/usr/local/nginx/sbin/nginx 启动nginx

/usr/local/nginx/sbin/nginx -t 检测nginx配置文件是否正确

/usr/local/nginx/sbin/nginx -s stop 关闭nginx

/usr/local/nginx/sbin/nginx -s reload 平滑启动nginx(在nginx服务不停止的情况下重新加载nginx配置文件)

Nginx 安装配置

(1)下载 Nginx 源码包

cd /usr/src

wget -c nginx.org/download/nginx-1.14.0.tar.gz

(2)解压 Nginx 源码包

tar xf nginx-1.14.0.tar.gz

(3)进入 Nginx 源码包解压目录;创建 www 用户

cd nginx-1.14.0

useradd www

(4)安装 pcre 库 openssl 库 gcc 编译器

yum install pcre-devel pcre openssl-devel gcc-c++ -y

(5)预编译 Nginx

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

(6)make 编译

make

(7)make install 安装

make install

到此Nginx web服务器已经安装完成

----------------------------------------------------------------------------------------------------------------------------------

启动 Nginx

/usr/local/nginx/sbin/nginx

查看 Nginx进程是否已启动

临时关闭SELinux

setenforce 0

关闭firewalld防火墙(也可以写防火墙允许80端口通过规则)

systemclt stop firewalld

通过浏览器访问Nginx默认测试页

Nginx源码安装配置的更多相关文章

  1. nginx 源码安装配置详解(./configure)

    在"./configure"配置中,"--with"表示启用模块,也就是说这些模块在编译时不会自动构建,"--without"表示禁用模块, ...

  2. Nginx源码安装及调优配置

    导读 由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置. Nginx编译前的优 ...

  3. Nginx源码安装及调优配置(转)

      导读 由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置. Nginx编译前 ...

  4. httpd的rpm包及源码安装配置

    httpd的rpm包及源码安装配置 1.rpm包安装 系统环境: [root@zhaochj ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel ...

  5. nginx源码安装方法

    nginx源码安装方法 安装方法如下 1.安装nginx必要的源码依赖软件包. yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zli ...

  6. nginx源码安装教程(CentOS)

    1.说明 官方源码安装说明:http://nginx.org/en/docs/configure.html 源码包下载地址:http://nginx.org/en/download.html 版本说明 ...

  7. nginx源码安装

    1,首先解决系统环境: 安装rpm包组{CentOS6 跟开发相关的包组:} a.  Development Tools #yum groupinstall "Development Too ...

  8. nginx 源码安装的重启命令

    源码安装nginx就面临这样的麻烦,不能使用service nginx restart 来重启nginx,没办法只能重新加载下nginx. #/usr/local/nginx/sbin/nginx - ...

  9. nginx 源码安装以及后续升级https

    事情的来源是,公司要将网站从http升级到https,由于历史遗留原因,才发现现有的nginx是通过源码安装的,并没有安装ssl模块,需要现安装sll模块,这个nginx是整个公司最前端的一个代理,涉 ...

随机推荐

  1. 关于springmvc的包含list提交的格式

    <%-- Created by IntelliJ IDEA. User: jh Date: 2017/7/12 Time: 14:31 To change this template use F ...

  2. 利用java执行shell脚本

    BPMN中存在由系统执行的脚本任务,shell脚本任务也是该系统任务脚本中的一种,利用的也是由java执行shell脚本. 代码中的ProcessBuilder类,为java.lang.Process ...

  3. AES256位加密

    目录 1.    算法简介 2.    算法流程 2.1 扩展密钥 2.2 轮密钥加 2.3 字节代替 2.4 行位移 2.5 列混淆 3.    总结 附录A 运算示例 1.算法简介高级加密标准(英 ...

  4. for循环使用

    cat > a.sh <<EOF #!/bin/bash export NODE_NAMES=(kube-test1 kube-test2 kube-test3 kube-test4 ...

  5. Sqlserver实现故障转移 — 加域(2)

    目的:将计算机添加到域中, 域控的建立详见:https://www.cnblogs.com/xiaoerlang90/p/9224745.html 域控: 名称:dcTest.com IP: 192. ...

  6. ‘No module named 'numpy.core._multiarray_umath’ 或者‘no module named numpy’

    在import TensorFlow时,如果遇到‘No module named 'numpy.core._multiarray_umath’ 或者‘no module named numpy’,大多 ...

  7. OpenStack组件——Neutron网络服务(1)

    1.neutron 介绍: 1)Neutron 概述 传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要 ...

  8. C++之用程序理解浅拷贝

    C++中的浅拷贝是产生很多问题的根本原因,其根本原因是在有指针的时候,只是拷贝了一个指针的值,多个指针指向同一块内存区域,当free内存时,造成其他指针指向的空间不存在.结合构造函数和析构函数理解浅拷 ...

  9. Linux 磁盘卷扩容

    首先识别磁盘,成功之后会显示在/dev下 [root@oracle01 ~]# fdisk /dev/sda ## /dev/sda为通过fdisk -l 查看到的物理磁盘(第一行) Welcome ...

  10. sql server 查询某段日期某段时间内的数据

    如我要取8月1号到8月30号之间的早上7点半到晚上八点半这段时间内的数据. SELECT * FROM tableName AS tWHERE t.create_date BETWEEN '2017- ...