Nginx极客时间:编译出适合自己的Nginx
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Nginx极客时间:编译出适合自己的Nginx,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3383字,纯文字阅读大概需要5分钟。
内容图文
![Nginx极客时间:编译出适合自己的Nginx](/upload/InfoBanner/zyjiaocheng/929/8f5c93e21f3243cabdb0cb311130f2f6.jpg)
编译Nginx主要分为以下六个部分:
1. 下载Nginx:
从Nginx官方网站中下载压缩包即可。
也可使用 wget
命令的方式进行下载:
Unix > wget http://nginx.org/download/nginx-1.14.0.tar.gz
wget
命令:
wget是Linux中的一个下载文件的工具,支持通过HTTP、HTTPS、FTP三个最常见的 TCP/IP协议下载。
2. 介绍各目录:
解压下载的Nginx压缩包后,在Nginx的目录中可以看到主要包含以下几个部分:
auto # auto文件夹中主要有4个目录:cc、lib、os、types,auto目录主要是为了辅助configure执行时Nginx要支持哪些模块、当前系统支持哪些特性来供Nginx使用;
GHNAGE # 当前版本相较于前面版本有哪些变化,新增支持哪些特性(Feature)和修复了哪些bug(Bugfix)
CHANGE.ru # 俄语版的CHANGE文件
conf # 实例文件。在Nginx安装好后,会把configure的实例文件拷贝到conf文件中,方便运维使用
configure # 配置脚本,用来生成中间文件,执行编译前的必备动作
contrib # Perl脚本,使Nginx的语法在vim中显示
html # 包括 50x.html, index.html 两个html文件
LICENSE
man # Nginx的帮助文件
README
src # Nginx的源代码(core, event, http, mail, misc, os, stream)
tree
命令:
Linux tree 命令用于以树状图列出目录的内容。
执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。
3. Configure:
按照Unix的惯例,需要先执行 configure 文件,然后再编译。
configure 命令介绍:
./configure --help | more
//第一类参数:指定Nginx的安装路径:
--prefix=PATH # set installation prefix
--sbin-path=PATH
--modules-path=PATH
--conf-path=PATH
//第二类参数:确定Nginx要使用哪些模块、不使用哪些模块:
//"--with" 开头的模块是默认 不 编译进Nginx的模块,使用with可指定其加入Nginx
//"--without" 开头的模块是默认 编译进Nginx的模块,使用without可指定其不加入Nginx
--with-select_module
--with-http_ssl_module
--without-http_gzip_module
--without-http_charset_module
//第三类参数:一些特殊选项:
--with-cc=PATH # 指定C编译器路径
--with-cpp=PATH # 指定CPP编译器路径
--with-ld-opt=OPTIONS
使用默认方式安装:
./configure --prefix=/home/nginx
more
命令:
Linux more 命令类似 cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空格键(space)就往下一页显示,按 b 键 就会往回(back)一页显示,而且还有搜索字符串的功能(与 vi 类似)。
4. 中间文件介绍:
objs目录:
./configure 执行后会生成一些中间文件,这些中间文件会放在 objs 目录中(与 auto、configure 等同级的目录)。
objs 目录中最重要的文件是 ngx_module.c
,它决定了在后面编译时有哪些模块会被编译进Nginx。
其中是一个数组,包含了所有要编译进Nginx的模块。
ngx_module.c
内容:
#include <ngx_config.h>
#include <ngx_core.h>
extern ngx_module_t ngx_core_module;
extern ngx_module_t ngx_errorlog_module;
...
ngx_module_t *ngx_modules[] = {
&ngx_core_module,
&ngx_errorlog_module,
...
};
char *ngx_module_names[] = {
"ngx_core_module",
"ngx_errlog_module",
...
};
5. 编译:
执行 make
编译。
编译后,会生成大量的中间文件(例如 .o 文件) 和 最后的可执行二进制文件(nginx)。
在 objs
目录中可以看到 可执行二进制文件 nginx;
在 objs/src
目录下可以看到C语言编译时生成的所有中间文件(.o 文件)。
6. 安装:
执行 make install
安装。
(首次安装时可以通过执行 make install 安装)
随后,在 --prefix 指定的目录中就可以看到 安装好后的 Nginx。
其中,
最主要的nginx可执行二进制文件就在 sbin
目录下;
决定 nginx功能的配置文件 在 conf
目录下;
access.log 和 error.log 将会保存在 logs
目录下。
root / > cd /home/nginx/
root nginx > ls
conf html logs sbin
root nginx > tree sbin
sbin/
|—— ngxin
root nginx > tree html
html/
|—— 50x.html
|—— index.html
root nginx > tree conf
conf/
|—— fastcgi.conf
|—— mime.types
|—— nginx.conf
...
内容总结
以上是互联网集市为您收集整理的Nginx极客时间:编译出适合自己的Nginx全部内容,希望文章能够帮你解决Nginx极客时间:编译出适合自己的Nginx所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。