栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux绿色版Nginx

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux绿色版Nginx

Linux绿色版Nginx 背景

​ Nginx想必大家都比较熟悉了,这里就不做过多的诉述它的强大和用处了。上次在开发时,产品提出了一个需求:在不同网段的实现请求的转发和响应,最终讨论使用 nginx+autossh 做成一个小安装包 + 代码的形式实现这一功能(这里不具体展开这个需求,主要描述一下怎么制作一个绿色版、解压即用的nginx);由于我在上一家公司用到的nginx,就是解压即用的;所以准备直接拿一个zip压缩包,来进行配置,但是问了一下这边同事,发现这边的nginx是安装版本的,即是下载安装包,然后安装进 /usr/local/nginx ;但是大伙都知道,很多项目现场部署的服务器都是没有外网的,并且可能存在相关Linux依赖都不齐全 甚至 root 用户都没权限的情况,所以让现场直接去源码编译安装有时是很不现实的,所以,本文就是为了制作一个绿色版、任意用户、解压即用的nginx。

准备

Linux(虚拟机/服务器)

Linux目录结构

|-------nginx (要制作的nginx的空目录)

|-------nginx-src(存在nginx源码、依赖等)

​ |----nginx-1.16.1

​ |----openssl-1.0.2s

​ |----pcre-8.43

​ |----zlib-1.2.11

nginx-src目录下载nginx源码及相关依赖(Linux上没wget,可以本地直接访问网址下载后上传)

wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
wget https://ftp.exim.org/pub/pcre/pcre-8.43.tar.gz
wget https://zlib.net/zlib-1.2.11.tar.gz
wget http://nginx.org/download/nginx-1.16.1.tar.gz

解压缩
tar -zxvf nginx-1.16.1.tar.gz 
tar -zxvf openssl-1.0.2s.tar.gz 
tar -zxvf pcre-8.43.tar.gz
tar -zxvf zlib-1.2.11.tar.gz 

准备完成后文件目录如下:nginx为空,nginx-src为nginx源码和依赖

[root@localhost nginx-green]# pwd
/root/nginx-green
[root@localhost nginx-green]# ll
total 0
drwxr-xr-x 6 root root  54 Jan 17 16:35 nginx  
drwxr-xr-x 6 root root 191 Jan 17 16:35 nginx-src
[root@localhost nginx-green]# cd nginx-src/
[root@localhost nginx-src]# ll
total 8892
drwxr-xr-x  9 root root     186 Jan 17 16:35 nginx-1.16.1
-rw-r--r--  1 root root 1032630 Jan 17 16:35 nginx-1.16.1.tar.gz
drwxr-xr-x 21 root root    4096 Jan 17 16:35 openssl-1.0.2s
-rw-r--r--  1 root root 5349149 Jan 17 16:35 openssl-1.0.2s.tar.gz
drwxr-xr-x  9 root root    8192 Jan 17 16:35 pcre-8.43
-rw-r--r--  1 root root 2085854 Jan 17 16:35 pcre-8.43 .tar.gz
drwxr-xr-x 14 root root    4096 Jan 17 16:35 zlib-1.2.11
-rw-r--r--  1 root root  607698 Jan 17 16:35 zlib-1.2.11.tar.gz
配置及安装 配置
./configure 
   --with-openssl=../openssl-1.0.2s 
   --with-pcre=../pcre-8.43 
   --with-zlib=../zlib-1.2.11 
   --with-pcre-jit --user=root 
   --prefix=../../nginx 
   --with-http_ssl_module 
   --with-http_v2_module
  
  
# 出现以下提示表示配置完成
# 如果有ERROR需要手动解决 : 
# 参考链接:https://www.klavor.com/dev/20190724-586.html
 Configuration summary
	  + using PCRE library: ../pcre-8.43
	  + using OpenSSL library: ../openssl-1.0.2s
	  + using zlib library: ../zlib-1.2.11

	  nginx path prefix: "../../nginx"
	  nginx binary file: "../../nginx/sbin/nginx"
	  nginx modules path: "../../nginx/modules"
	  nginx configuration prefix: "../../nginx/conf"
	  nginx configuration file: "../../nginx/conf/nginx.conf"
	  nginx pid file: "../../nginx/logs/nginx.pid"
	  nginx error log file: "../../nginx/logs/error.log"
	  nginx http access log file: "../../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"

注意:前3项为安装时指定依赖的位置,这里直接使用我们自己下载的依赖,因为系统的依赖可能会因为版本不符或者不存在会导致配置失败;其中最重要的配置是 –prefix=…/…/nginx,这个配置指定了我们待会编译安装的nginx的保存目录,并且,…/…/nginx**这个路径在编译安装完成后,在后续启动的会引用这个配置(这里有投机取巧嫌疑,如果不是***…/…/nginx***的话,会在nginx启动时读取不到正确的目录,需要手动指定绝对路径,所以这里强烈!!!建议设置成***…/…/nginx***)。

安装
make 
make install
打包

​ 至此绿色版本nginx已经制作完成,直接把nginx文件夹打包迁移置其他环境解压即用了。

[root@localhost nginx-green]# pwd
/root/nginx-green
[root@localhost nginx-green]# ll
total 0
drwxr-xr-x 6 root root  54 Jan 17 16:35 nginx
drwxr-xr-x 6 root root 191 Jan 17 16:35 nginx-src
[root@localhost nginx-green]# zip -r nginx.zip nginx
.
.
.
[root@localhost nginx-green]# ll
total 4328
drwxr-xr-x 6 root root      54 Jan 17 16:35 nginx
drwxr-xr-x 6 root root     191 Jan 17 16:35 nginx-src
-rw-r--r-- 1 root root 4431284 Jan 17 17:01 nginx.zip

下载链接

https://github.com/wuzefang/nginx-green

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/741549.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号