nginx-1.13.x源码安装

2023-11-01

Nginx 安装配置
【依赖库】
[ zlib ]
(下载)http://download.chinaunix.net/download.php?id=24013&ResourceID=12241
[ pcre ]
apt-get install libpcre-dev
[ openssl ]
(下载)http://download.chinaunix.net/download.php?id=39379&ResourceID=11
【configure】
[ 编译命令 ]
./configure 
--prefix=/work/nginx/ 
--with-pcre 
--with-http_ssl_module 
--with-openssl=/usr/local/ssl	
#--with-zlib=/usr/local/zlib 	#此处会导致 make distclean 异常


[ 成功提示 ]
creating objs/Makefile

Configuration summary
  + using system PCRE library
  + using OpenSSL library: /usr/local/ssl
  + using zlib library: /usr/local/zlib

  nginx path prefix: "/work/nginx/"
  nginx binary file: "/work/nginx//sbin/nginx"
  nginx modules path: "/work/nginx//modules"
  nginx configuration prefix: "/work/nginx//conf"
  nginx configuration file: "/work/nginx//conf/nginx.conf"
  nginx pid file: "/work/nginx//logs/nginx.pid"
  nginx error log file: "/work/nginx//logs/error.log"
  nginx http access log file: "/work/nginx//logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"	


【 make 错误 】
[ .openssl 目录问题 ]
/bin/sh: line 2: ./config: No such file or directory
make[1]: *** [/usr/local/ssl/.openssl/include/openssl/ssl.h] Error 127
make[1]: Leaving directory `/usr/local/src/nginx-1.9.9'
make: *** [build] Error 2	

[ 解决方式 ]
修改文件:/usr/local/src/nginx-1.9.9/auto/lib/openssl/conf
找到:
CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"	

替换为:
CORE_INCS="$CORE_INCS $OPENSSL/include"
CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"
CORE_LIBS="$CORE_LIBS $NGX_LIBDL"	

其实就是去掉 .openssl 目录。
[ make distclean ]
make -f objs/Makefile
make[1]: Entering directory `/home/newton/nginx-1.13.4'
cd /usr/local/zlib \
	&& make distclean \
	&& CFLAGS="-O2 -fomit-frame-pointer -pipe " CC="cc" \
		./configure \
	&& make libz.a
/bin/sh: 3: Syntax error: "&&" unexpected
make[1]: *** [/usr/local/zlib/libz.a] Error 2
make[1]: Leaving directory `/home/newton/nginx-1.13.4'
make: *** [build] Error 2

[ 解决方案 ]
将 configure 的编辑模块中,去掉 --with-zlib
** 如果有其它解决方案,欢迎分享 **
【make & make install】
[ make ]
	objs/src/http/modules/ngx_http_upstream_zone_module.o \
	objs/ngx_modules.o \
	-ldl -lpthread -lcrypt -lpcre /usr/local/openssl/lib/libssl.a /usr/local/openssl/lib/libcrypto.a -ldl -lz \
	-Wl,-E
sed -e "s|%%PREFIX%%|/work/nginx/|" \
		-e "s|%%PID_PATH%%|/work/nginx//logs/nginx.pid|" \
		-e "s|%%CONF_PATH%%|/work/nginx//conf/nginx.conf|" \
		-e "s|%%ERROR_LOG_PATH%%|/work/nginx//logs/error.log|" \
		< man/nginx.8 > objs/nginx.8
make[1]: Leaving directory `/home/newton/nginx-1.13.4'	


[ make install ]
make -f objs/Makefile install
make[1]: Entering directory `/home/newton/nginx-1.13.4'
test -d '/work/nginx/' || mkdir -p '/work/nginx/'
test -d '/work/nginx//sbin' \
		|| mkdir -p '/work/nginx//sbin'
test ! -f '/work/nginx//sbin/nginx' \
		|| mv '/work/nginx//sbin/nginx' \
			'/work/nginx//sbin/nginx.old'
cp objs/nginx '/work/nginx//sbin/nginx'
test -d '/work/nginx//conf' \
		|| mkdir -p '/work/nginx//conf'
cp conf/koi-win '/work/nginx//conf'
cp conf/koi-utf '/work/nginx//conf'
cp conf/win-utf '/work/nginx//conf'
test -f '/work/nginx//conf/mime.types' \
		|| cp conf/mime.types '/work/nginx//conf'
cp conf/mime.types '/work/nginx//conf/mime.types.default'
test -f '/work/nginx//conf/fastcgi_params' \
		|| cp conf/fastcgi_params '/work/nginx//conf'
cp conf/fastcgi_params \
		'/work/nginx//conf/fastcgi_params.default'
test -f '/work/nginx//conf/fastcgi.conf' \
		|| cp conf/fastcgi.conf '/work/nginx//conf'
cp conf/fastcgi.conf '/work/nginx//conf/fastcgi.conf.default'
test -f '/work/nginx//conf/uwsgi_params' \
		|| cp conf/uwsgi_params '/work/nginx//conf'
cp conf/uwsgi_params \
		'/work/nginx//conf/uwsgi_params.default'
test -f '/work/nginx//conf/scgi_params' \
		|| cp conf/scgi_params '/work/nginx//conf'
cp conf/scgi_params \
		'/work/nginx//conf/scgi_params.default'
test -f '/work/nginx//conf/nginx.conf' \
		|| cp conf/nginx.conf '/work/nginx//conf/nginx.conf'
cp conf/nginx.conf '/work/nginx//conf/nginx.conf.default'
test -d '/work/nginx//logs' \
		|| mkdir -p '/work/nginx//logs'
test -d '/work/nginx//logs' \
		|| mkdir -p '/work/nginx//logs'
test -d '/work/nginx//html' \
		|| cp -R html '/work/nginx/'
test -d '/work/nginx//logs' \
		|| mkdir -p '/work/nginx//logs'
make[1]: Leaving directory `/home/newton/nginx-1.13.4'

【配置快捷方式】
ln /work/nginx/sbin/nginx /usr/bin/nginx
【启动Nginx】
nginx
【查看进程】
root@umaster:/work/project# ps awx|grep nginx
33665 ? Ss 0:00 nginx: master process nginx
33666 ? S 0:00 nginx: worker process
34029 pts/0 S+ 0:00 grep --color=auto nginx
【Nginx配置】
主要是:日志、端口号、脚本目录、首页文件名;
打开配置文件: /work/nginx/conf/nginx.conf
#[ 错误日志 ]
error_log  logs/error.log;
#[ 服务相关 ]
server {
        listen       88;				#监听HTTP端口;
        server_name  localhost;		#访问地址;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /work {			#脚本根目录
            root   html;				#入口目录
            index  index.html index.htm;	#默认执行的首页文件
        }


【重启Nginx】
nginx -s reload :修改配置后重新加载生效
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx-1.13.x源码安装 的相关文章

  • 调用 printf 系统子例程在汇编代码中输出整数错误[重复]

    这个问题在这里已经有答案了 来回 在windows7控制台窗口中运行gcc s2 asm 然后生成一个exe文件 运行a exe 然后崩溃 为什么 s2 asm 代码由以下源代码生成 int m m 1 iprint m s2 asm请参考
  • 在centos中安装sqlite3 dev和其他包

    我正在尝试使用 cpanel 在 centos 机器上安装 sqlite dev 和其他库 以便能够编译应用程序 我对 debian 比 centos 更熟悉 我知道我需要的库是 libsqlite3 dev libkrb5 dev lib
  • tcpdump 是否受 iptables 过滤影响?

    如果我的开发机器有iptables规则到FORWARD一些数据包 这些数据包是否被 tcpdump 捕获 我有这个问题 因为我知道存在其他链称为INPUT如果数据包路由到 它会过滤发往应用程序的数据包FORWARD链 它会到达吗tcpdum
  • NGINX 返回 405 不允许使用 POST 方法

    我有这个default conf server listen 443 ssl root etc nginx json server name myserver com ssl certificate etc ssl certs server
  • 如何在linux中以编程方式获取dir的大小?

    我想通过 C 程序获取 linux 中特定目录的确切大小 我尝试使用 statfs path struct statfs 但它没有给出确切的大小 我也尝试过 stat 但它返回任何目录的大小为 4096 请建议我如何获取 dir 的确切大小
  • 尽管 if 语句,Visual Studio 仍尝试包含 Linux 标头

    我正在尝试创建一个强大的头文件 无需更改即可在 Windows 和 Linux 上进行编译 为此 我的包含内容中有一个 if 语句 如下所示 if defined WINDOWS include
  • 使用非规范地址检索内存数据会导致 SIGSEGV 而不是 SIGBUS

    我无法使用以下汇编代码产生 总线错误 这里我使用的内存地址不是合法的 规范地址 那么 我怎样才能触发该错误呢 我在带有 NASM 2 14 02 的 Ubuntu 20 04 LTS 下运行这段代码 但它会导致负载出现 SIGSEGV 分段
  • 如何获取 (Linux) 机器的 IP 地址?

    这个问题和之前问的几乎一样如何获取本地计算机的IP地址 https stackoverflow com questions 122208 get the ip address of local computer 问题 但是我需要找到一个的I
  • CMake 链接 glfw3 lib 错误

    我正在使用 CLion 并且正在使用 glfw3 库编写一个程序 http www glfw org docs latest http www glfw org docs latest 我安装并正确执行了库中的所有操作 我有 a 和 h 文
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 如何使用 Nginx 将下划线替换为破折号

    我第一次使用Nginx 对它基本上一无所知 我需要将 100 多个 URL 中的 替换为 我想一定有一种简单的方法可以用 Nginx 来做到这一点 但在 Google 上找不到任何东西 Thanks Edit 我的网址例如 http www
  • Intel 上的 gcc 中的 _mm_pause 用法

    我参考过这个网页 https software intel com en us articles benefitting power and performance sleep loops https software intel com
  • 获取请求的客户端 IP 地址而不是 Cloudflare 的 IP 地址

    Cloudflare 会更改传入请求的 IP 地址 因为 Cloudflare 是我的网站和互联网之间的中间件 代理 我该怎么办获取请求的初始IP地址 而不是 Cloudflare 的 IP 地址 我听说过mod cloudflare但是这
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • C修改printf()输出到文件

    有没有办法修改printf为了将字符串输出到文件而不是控制台 我尝试在互联网上查找一些内容 发现了类似的电话dup dup2 and fflush这可能与此有关 EDIT 也许我不清楚 问题是这是C考试问题 问题如下 解释一个通常将字符串输
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • Linux 为一组进程保留一个处理器(动态)

    有没有办法将处理器排除在正常调度之外 也就是说 使用sched setaffinity我可以指示线程应该在哪个处理器上运行 但我正在寻找相反的情况 也就是说 我想从正常调度中排除给定的处理器 以便只有已明确调度的进程才能在那里运行 我还知道
  • 如何使用Android获取Linux内核的版本?

    如何在 Android 应用程序中获取 Linux 内核的版本 不是 100 确定 但我认为调用 uname r 需要 root 访问权限 无论如何 有一种不太肮脏的方法可以做到这一点 那就是 System getProperty os v
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp
  • x86-64 AMD 上 CALL 指令的操作数生成

    以下是示例程序 objdump 的输出 080483b4

随机推荐

  • 在 Python 中逐行打印字典的项目

    Python 中逐行打印字典的项目 使用 dict items 方法获取字典项目的视图 使用 for 循环遍历视图 使用 print 函数逐行打印字典的项目 my dict id 1 name jiyik age 30 for key va
  • hive 压缩编码

    文章目录 1 hadoop 压缩编码 1 1 MR支持的压缩编码 2 编码 解码器 3 压缩性能的比较 4 压缩配置参数 2 hive压缩编码 2 1 如何查看hive支持的压缩 2 1 hive编码的选择 2 2 配置 1 hadoop
  • 解决问题Caused by: java.net.UnknownHostException

    在Java中 java net UnknownHostException 异常表示无法解析主机名 这意味着你尝试连接的主机名无法解析为 IP 地址 可能的原因有 主机名错误 请确保输入的主机名正确 网络连接问题 请检查网络是否连接正常 DN
  • Maven的安装以及环境的配置

    一 准备工作 1 确定电脑上已经成功安装jdk7 0以上版本 2 win10操作系统 win7操作系统 3 maven安装包 下载地址 http maven apache org download cgi 二 解压Maven安装包 在上述地
  • Django连接数据库出错

    pymysql可能出现的版本不匹配问题 第一个问题 File D virtualenv wx lib site packages django db backends mysql base py line 36 in
  • 最新Tesseract-OCR源码编译1——leptonica编译

    上次写了Tesseract OCR 3 02命令行程序的简单使用 同时官网上给出了3 02版本基于VS2008平台的编译工程 但对于最新源码只是说了在VS2015 3 05 和VS2013 3 04 的编译 还是英文的 且网上关于最新源码的
  • iOS各版本发布时间和特点

    iOS各版本发布时间和特点 iOS9 发布时间2015年6月9日 特性 更新于开发的内容 1 iOS9系统发送的网络请求将统一使用HTTPs 将不再默认使用HTTP等不安全的网络协议 而默认采用TLS 1 2 服务器因此需要更新 以解析相关
  • errno 104:connetction reset by peer的错误分析

    https blog csdn net alibo2008 article details 45694845 errno 104错误表明你在对一个对端socket已经关闭的的连接调用write或send方法 在这种情况下 调用write或s
  • Meta为全天候AR眼镜设计了AI系统的八大指导方针

    众所周知 Meta不仅局限在Quest这类VR头显上 同时还在打造更轻量化的AR眼镜 目标就是让产品更好的融入到人们的日常生活中去 除了硬件上轻量化以外 在功能和交互体验上也至关重要 例如自然交互方式 比如手势输入 以及AI视觉助手等 这其
  • Ros中可视化工具rqt 命令

    rqt工具箱可视为ROS数据的界面调试工具 rosrun rqt 按tab键 可以查看所有的rqt工具 以下介绍为常用的命令 目录 1 rqt tf tree 2 rqt graph 3 rqt plot 4 rqt topic 1 rqt
  • vue-cli 方式创建 uni-app 项目(支持快捷键)

    文章目录 1 前言 2 创建 uni app 3 删除多余依赖 4 支持快捷键 5 安装 uni ui 及 sass 6 配置 easycom 7 运行 1 前言 由于习惯了 VSCode 的使用 本着快速交付 不需要转换开发思维 不需要更
  • 跟ChatGPT同源插件,专为测试人的开放,快来看看吧

    3 月 23 日 OpenAI 又投出了一枚重磅炸弹 为 ChatGPT 推出插件系统 此举意味着 ChatGPT 将迎来 APP Store 时刻 也就是围绕它的能力 形成一个开发者生态 打造出基于 AI 的 操作系统 插件系统将为 Ch
  • [知识图谱实战篇] 八.HTML+D3绘制时间轴线及显示实体

    前面作者讲解了很多知识图谱原理知识 包括知识图谱相关技术 Neo4j绘制关系图谱等 但仍缺少一个系统全面的实例 为了加深自己对知识图谱构建的认识 为后续创建贵州旅游知识图谱打下基础 作者深入学习了张宏伦老师的网易云课程 星球系列电影 并结合
  • Linux系统版本信息查看

    一 查看Linux内核版本命令 方法1 cat proc version root localhost cat proc version Linux version 3 10 0 957 el7 x86 64 mockbuild kbuil
  • 型号不同的计算机内存条可以通用么,笔记本内存条和台式机通用吗

    电脑分为笔记本和台式机 这两者里面都有一个很重要的部件就是内存条 虽然作用都是相同的 但两者却是不一样的 那么笔记本内存条和台式机通用吗 答案是不可以 下面小编会给大家详细介绍不能通用的原因 以及笔记本内存条怎么装 看型号等等问题 笔记本内
  • 【Chisel入门——数据类型与操作符号】

    文章目录 前言 Chisel开发环境部署 安装步骤 环境测试 实验环境问题说明 数据类型 UInt SInt Bool Vec T Bundle 操作符 总结 前言 前面的部分简单介绍了Chisel 新型敏捷硬件开发语言 也简单说明了开发环
  • 黑马并发编程JUC(信号量、线程安全类)总结

    黑马并发编程JUC总结 9 JUC Semaphore 定义 原理 acquire release CountDownLatch 为什么需要用到CountDownLatch 定义 为什么加载的时候需要使用到countDownLock 商品问
  • EsayExcle的简单使用

  • Linux应用编程

    孤儿进程 在Linux Unix环境中 我们是通过fork函数来创建子进程的 创建完毕之后 父子进程独立运行 父进程无法预知子进程什么时候结束 通常情况下 子进程退出后 父进程会使用wait或waitpid函数进行回收子进程的资源 并获得子
  • nginx-1.13.x源码安装

    Nginx 安装配置 依赖库 zlib 下载 http download chinaunix net download php id 24013 ResourceID 12241 pcre apt get install libpcre d