手动编译 Nginx 并安装 VeryNginx
VeryNginx 是个非常有意思且便捷的 Nginx 扩展程序。最近新开了台 VPS,便想体验一下它带来的快感。
VeryNginx 有个不超过 5 行的安装方法,但作为强迫症我更喜欢使用自己编译的 Nginx。
基础依赖
- PCRE (一个正则表达式库,nginx 伪静态可以用到)
- OpenSSL(https 连接需要)
- zlib(开启 gzip 需要,一个提供数据压缩用的函式库)
首先进入 /usr/local/src 目录:
cd /usr/local/src
编译器安装
apt-get install build-essential libtool
PCRE (8.41)
下载并解压 PCRE:
wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gztar -xzvf pcre-8.41.tar.gz
zlib (1.2.11)
下载并解压 zlib:
wget http://www.zlib.net/zlib-1.2.11.tar.gztar -xzvf zlib-1.2.11.tar.gz
OpenSSL (1.0.2l)
下载并解压 OpenSSL:
lua-nginx-module不支持 1.1.0
wget https://www.openssl.org/source/openssl-1.0.2l.tar.gztar -xzvf openssl-1.0.2l.tar.gz
ngx_lua 依赖
VeryNginx 使用到了以下模块,自己编译 Nginx 时,需要包含以下模块才能正常使用。
- http_ssl_module
- http_stub_status_module
- lua-nginx-module
ngx_lua即为lua-nginx-module
http_stub_status_module 和 http_ssl_module 只需要在 ./configure 时加上两行即可。lua-nginx-module稍微麻烦一点,它需要以下依赖:
- LuaJIT 2.0 或 LuaJIT 2.1(推荐)或 Lua 5.1(5.2 目前不支持)
- ngx_devel_kit(NDK)
- ngx_lua
同样进入 /usr/local/src 目录:
cd /usr/local/src
LuaJIT (2.1.0-beta3)
下载并安装 LuaJIT:
wget http://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gztar -xzvf LuaJIT-2.1.0-beta3.tar.gzcd LuaJIT-2.1.0-beta3make && sudo make install
它会自动将 LuaJIT 安装到
/usr/local/
设置环境变量:
export LUAJIT_LIB=/usr/local/libexport LUAJIT_INC=/usr/local/include/luajit-2.1/
ngx_devel_kit (0.3.0)
下载并解压 ngx_devel_kit:
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gztar -xzvf v0.3.0.tar.gz
ngx_lua (0.10.11rc2)
下载并解压 ngx_lua:
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.11rc2.tar.gztar -xzvf v0.10.11rc2.tar.gz
删除所有下载的压缩包:
rm ./*.tar.gz
编译安装 Nginx
Nginx (1.12.1)
下载并解压 Nginx:
wget https://nginx.org/download/nginx-1.12.1.tar.gztar -xzvf nginx-1.12.1.tar.gz
配置与编译
cd nginx-1.12.1.tar.gz./configure --prefix=/usr/local/nginx \--sbin-path=/usr/local/sbin/nginx \--pid-path=/usr/local/nginx/logs/nginx.pid \--error-log-path=/usr/local/nginx/logs/error.log \--http-log-path=/usr/local/nginx/logs/access.log \--with-ld-opt=-Wl,-rpath,/usr/local/lib/ \--with-http_ssl_module \--with-http_stub_status_module \--with-pcre=../pcre-8.41 \--with-zlib=../zlib-1.2.11 \--with-openssl=../openssl-1.0.2l \--add-module=../ngx_devel_kit-0.3.0 \--add-module=../lua-nginx-module-0.10.11rc2makesudo make install
安装 VeryNginx
下载与安装 VeryNginx
git clone https://github.com/alexazhou/VeryNginx.gitcd VeryNginxpython install.py install verynginx
更新 Nginx 配置文件
有两种方式:
将 VeryNginx 的 nginx.conf 替换
/usr/local/nginx/conf目录下的文件。使用自己的配置文件,方法如下:
- 在
http配置块外部,加入:include /opt/verynginx/verynginx/nginx_conf/in_external.conf;
- 在
http配置块内部,加入:nclude /opt/verynginx/verynginx/nginx_conf/in_http_block.conf;
- 在
server配置块内部,加入:include /opt/verynginx/verynginx/nginx_conf/in_server_block.conf;
登录 VeryNginx
访问 http://yourdomain.com/verynginx/index.html 就可以见到 VeryNginx 的控制面板。
默认用户名和密码都是 verynginx,登录后请务必修改。
参考资料
手动编译 Nginx 并安装 VeryNginx的更多相关文章
- 编译nginx的源码安装subs_filter模块
使用nginx的反向代理功能搭建nuget镜像服务器时,需要针对官方nuget服务器的响应内容进行字符串替换,比如将www.nuget.org替换为镜像服务器的主机名,将https://替换为http ...
- 手动编译PHP开发环境
目录 手动编译PHP开发环境 问题复盘 部署环境及配置 目标环境 安装部署环境开始 首先安装PHP 安装mysql 安装nginx 手动编译PHP开发环境 这是一篇来自深夜加班的手稿 问题复盘 你有没 ...
- ffmpeg为视频添加时间戳 - 手动编译ffmpeg
FFMPEG给视频加时间戳水印 项目中需要给视频添加时间戳,理所当然最好用的办法是ffmpeg.在找到正确的做法前,还被网上的答案timecode给水了一下(水的不轻,在这里转了2天),大概是这样写的 ...
- linux环境手动编译安装Nginx实践过程 附异常解决
1.下载nginx源码包并解压 可在http://nginx.org/en/download.html下载.tar.gz的源码包,如(nginx-1.4.7.tar.gz) 或者使用云盘下载 ht ...
- 手动编译安装nginx
1.下载nginx源码包并解压 可在http://nginx.org/en/download.html下载.tar.gz的源码包,如(nginx-1.4.7.tar.gz) 下载后通过tar -xvz ...
- LNAMP服务器环境搭建(手动编译安装)
LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...
- nginx-1.4.4 + tcp_proxy_module手动编译安装
Nginx开源软件默认没有提供TCP协议的负载均衡,下面记录一下我的安装过程: 1. 下载nginx最新稳定版的源码 mkdir /software cd /software yum install ...
- LNMP安装Let’s Encrypt 免费SSL证书方法:自动安装与手动配置Nginx
前几天介绍了最新StartSSL免费SSL申请与配置,很多人看到部落介绍SSL证书安装时总是推荐了OneinStack,因为OneinStack提供了一键添加和配置Let's Encrypt 免费SS ...
- nginx-1.2.7 + tcp_proxy_module手动编译安装
Nginx开源软件默认没有提供TCP协议的负载均衡,下面记录一下我的安装过程: 1. 下载nginx最新稳定版的源码.可访问:http://www.nginx.org 或 linux命令下载到本地: ...
随机推荐
- 04-从零玩转JavaWeb-JVM内存详情分析
JVM内存划分栈与栈帧 JVM将内存主要划分为: 方法区 虚拟机栈 本地方法栈 堆 程序计数器 一.方法区:存放字节码,常量 ,静态变量,是一个共享的区域 二.虚拟机栈:执行方法其实就是栈帧入栈,出栈 ...
- IIS部署网站时常见问题解决
首先服务器上安装IIS和Framework\v4.0 一.打开iis服务管理器 左侧目录中选择网站右键,选择添加网站 填写网站名称.选择项目存放的路径.ip地址和端口 VS用的是4.0,iis中网站也 ...
- 前端性能优化jQuery性能优化
一.使用合适的选择器 $("#id"); 1.使用id来定位DOM元素无疑是最佳提高性能的方式,因为jQuery底层将直接调用本地方法document.getElementById ...
- 基于Nginx+redis的Asp.net站点搭建
剧情介绍 在传统的信息系统(比如小规模的ERP\MES系统),往往只是进行简单的应用服务器和数据库服务器的分布式部署,以此来提高应用系统的负载能力,而伴随着访问的增大,应用服务器层面除了做硬件和网络的 ...
- 【推荐】地推统计结算工具SDK,手机开发首选
地推是推广app的一种重要手段,同时地推结算对地推统计的精度的要求非常高,而openinstall就是一款符合要求的地推统计结算工具.它不仅多渠道统计能力强,安装设备识别精准,渠道统计精度高.还支持地 ...
- 【ThinkPHP框架学习 】(1) --- thinkphp 3.2.3 验证码验证使用教程分享
框架版本:ThinkPHP框架 thinkphp 3.2.3 生成验证码 下面是最简单的方式生成验证码: $Verify = new \Think\Verify(); $Verify-> ...
- HTML学习笔记 CSS表格及轮廓案例 第八节 (原创)参考使用表
#tb, tb1, tr, th, td { border: 5px solid blue; /*加边框*/ padding: 5px; /*内边距*/ } #tb1 { border-collaps ...
- 实现基于Keepalived高可用集群网站架构的多种方法
实现基于Keepalived高可用集群网站架构 随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,目前业务已经通过集群LVS架构可做到随时拓展,后端节点已 ...
- Magicodes.Admin.Core开源框架总体介绍
框架说明 Magicodes.Admin.Core框架在ABP以及ASP.NET ZERO的基础上进行了封装和完善,目前基于.NET Core 2.0+(Framework版本),由于部分组件在.NE ...
- mac中利用brew实现多版本php共存以及任意切换
1.安装brew 参考链接:https://brew.sh/index_zh-cn.html 2.安装php56 brew install homebrew/php/php56 3.配置php56 因 ...