C++(Linux下搭建Nginx环境)

目录

一、安装前提

二、Nginx源码下载以及目录结构简单认识

三、Nginx的编译和安装

四、Nginx的启动和使用


一、安装前提

1、较新的Linux内核版本2.6以上才能够支持。

2、需要安装gcc编译器,g++编译器

//工具包包含了gcc和g++编译器
//Centos中安装
sudo yum groupinstall "Development Tools"

//工具包包含了gcc和g++编译器
//Ubuntu中安装
sudo apt-get install build-essential

3、安装pcre库,因为Nginx的Rewrite模块和HTTP核心模块会使用到pcre正则表达式语法,安装pcre和pcre-devel。

//Centos中安装PCRE:

sudo yum install pcre pcre-devel

//Ubuntu中安装PCRE:

sudo apt-get install libpcre3 libpcre3-dev

4、安装zlib库,它提供了压缩解压缩功能,在Nginx的各种模块中需要使用gzip压缩,安装zlib和zlib-devel。

//Centos中安装zlib:

sudo yum install zlib zlib-devel

//Ubuntu中安装zlib:

sudo apt-get install zlib1g zlib1g-dev

5、安装OpenSSL库,服务器提供安全网页时会用到OpenSSL库,安装openssl和openssl-devel。

//Centos中安装OpenSSL

sudo yum install openssl openssl-devel

//Ubuntu中安装OpenSSL

sudo apt-get install openssl libssl-dev 

二、Nginx源码下载以及目录结构简单认识

1、访问Nginx官网,获取到最新稳定版本(Stable version)下载连接

获取到下载链接:

​​​​​​http://nginx.org/download/nginx-1.24.0.tar.gz

 2、在linux中下载Nginx

sudo wget http://nginx.org/download/nginx-1.24.0.tar.gz

3、解压下载好的Nginx包

sudo tar -zxvf nginx-1.24.0.tar.gz 

4、进入解压后的目录,可以看到Nginx已经成功下载并解压了

  • auto目录:编译相关的脚本,可执行文件configure会用到这些脚本

                cc目录:检查编译的脚本

                lib目录:检查依赖库的脚本

                os目录:检查操作系统类型的脚本

                type目录:检测平台类型的脚本

  • CHANGES文件:bug修复和新增功能说明
  • CHHANGES.ru文件:相当于俄语版的CHANGES文件
  • conf目录:默认的配置文件
  • configure可执行脚本:编译nginx之前必须先执行本脚本以生成一些必要的中间文件
  • contrib目录:里面主要是一些工具和脚本。比较典型的是vim高亮工具,需要拷贝contrib中                           到本地vim目录(如果根目录没有该目录,先mkdir ~/.vim
  • html目录:里面放的Nginx欢迎界面和错误界面相关的html文件
  • man目录:里面放的关于Nginx帮助文件
  • src目录:非常重要,存放的Nginx源代码

                core目录:存放核心代码

                event目录:even(事件)模块相关代码

                http目录:http(web服务)模块相关代码

                mail目录:邮件模块相关代码

                misc目录:包括一些测试脚本、文档或其他辅助文件

                os目录:操作系统相关代码

                stream目录:流处理相关代码

三、Nginx的编译和安装

1、使用configure脚本来进行编译之前的配置工作

执行命令 sudo ./configure

 

 执行之后,会发现多了Makefile文件和objs目录。

objs目录:执行了configure生成的中间文件目录,该目录存在一个名为ngx_modules.c文件,它                      决定了编译Nginx的时候有哪些模块会被编译到nginx里面。

Makefile文件:执行了configure脚本生成的编译规则文件 ,执行make命令时用到。

2、使用make命令来编译,生成可执行文件。

sudo make

3、使用make命令开始安装,安装完成后可以在/user/local/目录下看到nginx目录,它默认安装在这个路径下。

sudo make install

 

 

进入到该nignx目录中,会发现四个目录:

  • conf目录:存放配置文件的目录
  • html目录:存放欢迎和错误页面的html的目录
  • logs目录:存放日志文件的目录
  • sbin目录:存放可执行文件的目录

四、Nginx的启动和使用

1、权限进入到sbin目录中,使用sudo ./nginx 命令启动(启动需要管理员权限)

sudo ./nginx

查看是否启动成功

ps -ef|grep nginx

2、可以看到已经启动成功了,下一步查看是否可以正常使用,可以在Windows下的浏览器去访问linux的ip,会出现欢迎页面。如果发现访问不了,使用sudo netstat -ntlp命令查看80端口是否分配给nginx。

如果nginx服务启动和端口一切正常,那么就是防火墙的问题。输入命令:sudo systemctl restart firewalld.service  重启防火墙

.输入命令 :sudo systemctl stop firewalld.service 关闭防火墙

然后就可以正常访问了。

Nginx[ 1] 是由 俄罗斯 工程师 Igor Sysoev 开发 的 一个 高性能 Web 服务器, 各方 面的 表现 均 远 超 传统 的 Apache, 已经 应用于 诸多 顶 级 互 联网 公司, 为 全世界 数以亿计 的 网 民 提供 着 出色 的 服务。 根据 某 权威 公司 分析 统计, 现在 它 已是 市场 份额 第二 大的 Web 服务器, 并且 仍在 快速 增长。 除了 最 引人注目 的 高性能 和 高 稳定性 外, Nginx 的 另一个 突出 特点 是 高 扩展性, 其 灵活 优秀 的 模块化 架构 允许 在 不修 改 核心 的 前提下 增加 任意 功能。 自 2004 年 正式 发布 以来, Nginx 已经 拥有 了 百余 个 官方 及 非官方 的 功能 模块( 如 fastcgi、 memcache、 mysql、 lua 等), 这 使得 Nginx 超越 了 一般 意义上 的 Web 服务器, 成为 了 一个 近乎“ 全能” 的 应用 服务器。 Nginx 以 纯 C 语言 实现, 故 开发 扩展 功能 模块 也 大多 使用 C 语言。 但 由于 C 语言 固有 的“ 中级 语言” 特性, 难以 实现 良好 的 软件 结构, 编写、 调试 代码 都比 较 麻烦—— 特别是 对于 初学者。 本书 将 在 解析 Nginx 源 码 的 基础上 详细 讲解 使用 C++ 和 Boost 程序 库 来 开发 Nginx 模块, 充分 利用 现代 C++ 的 新 特性 和 标准 库/ Boost 库, 让 Nginx 的 模块 开发 变得 更加 便捷 和 轻松 愉快。 罗剑锋. Nginx模块开发指南:使用C++11和Boost程序库 (Kindle 位置 348-357). 电子工业出版社. Kindle 版本.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

get-yuan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值