Linux 从源码编译安装 Nginx
Nginx 是一个高性能的 HTTP 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。Nginx 编译安装比较简单,难点在于配置。下面是 Nignx 0.8.54 编译安装和简单配置笔记。
一、准备工作
1.1、安装 OpenSSL
OpenSSL 版本:openssl-1.0.0c (安装方法)
1.2、准备 pcre 库
pere 是为了让 nginx 支持正则表达式。只是准备,并不安装,是为了避免在64位系统中出现错误。
1.
wget
ftp
://
ftp
.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.11.
tar
.gz
2.
tar
-zxf pcre-8.11.
tar
.gz
1.3、准备 zlib 库
同样只是准备,并不安装,是为了避免在64位系统中出现错误。
2.
tar
-zxf zlib-1.2.5.
tar
.gz
二、编译与安装 Nignx
2.1、下载、创建临时目录
2.
tar
-zxf nginx-0.8.54.
tar
.gz
3.
cd
nginx-0.8.54
4.
mkdir
-p /var/tmp/nginx
2.2、编译与安装
详细编译配置选项见《Nginx编译参数解析》
1.
./configure --prefix=/usr/
local
/nginx --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_dav_module --with-http_flv_module --with-http_realip_module --with-http_gzip_static_module --with-http_stub_status_module --with-mail --with-mail_ssl_module --with-pcre=../pcre-8.11 --with-zlib=../zlib-1.2.5 --with-debug --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi
make
&&
make
install
2.
ln
-s /usr/
local
/nginx/sbin/nginx /usr/sbin/
--prefix #nginx安装目录,默认在/usr/local/nginx
--pid-path #pid问件位置,默认在logs目录
--lock-path #lock问件位置,默认在logs目录
--with-http_ssl_module #开启HTTP SSL模块,以支持HTTPS请求。
--with-http_dav_module #开启WebDAV扩展动作模块,可为文件和目录指定权限
--with-http_flv_module #支持对FLV文件的拖动播放
--with-http_realip_module #支持显示真实来源IP地址
--with-http_gzip_static_module #预压缩文件传前检查,防止文件被重复压缩
--with-http_stub_status_module #取得一些nginx的运行状态
--with-mail #允许POP3/IMAP4/SMTP代理模块
--with-mail_ssl_module #允许POP3/IMAP/SMTP可以使用SSL/TLS
--with-pcre=../pcre-8.11 #注意是未安装的pcre路径
--with-zlib=../zlib-1.2.5 #注意是未安装的zlib路径
--with-debug #允许调试日志
--http-client-body-temp-path #客户端请求临时文件路径
--http-proxy-temp-path #设置http proxy临时文件路径
--http-fastcgi-temp-path #设置http fastcgi临时文件路径
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi #设置uwsgi 临时文件路径
--http-scgi-temp-path=/var/tmp/nginx/scgi #设置scgi 临时文件路径
2.3、开机自启动 nginx 脚本
2.
chmod
755 nginx
3.
mv
nginx /etc/init.d/
4.
update-rc.d nginx defaults
三、 Nignx 配置
1、将 "root html;" 改为你网站目录,比如 "root /home/wwwroot;"
2、支持php,将 "location ~ \.php$" 字段内所有#号注释全部去掉。
3、平滑重启,"nginx -s reload"
四、nginx 配置参考资料
1、Nginx 的中文维基
英文不好没事,一切从这里开始。
2、《实战Nginx:取代Apache的高性能Web服务器》(PDF 下载)
应该是国内最权威一本书了,包括 nginx方方面面,读完它能让你少走不少弯路。
3、Nginx 指令索引
不理解别人配置文件?到这里“Ctrl+F”搜搜吧,你就找到答案了。
4、关于Nginx的一些优化(突破十万并发)
CPU、内存强劲的可以尝试下,同样思路,相反可以将nginx优化成低内存消耗。
5、Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器
经典文章,建议从最后看起,前面的忽略
6、nginx 多虚拟主机配置
顾名思义,添加多个虚拟主机的方法,都是添加多个 server 字段实现。
7、Nginx 打开目录浏览功能
Nginx 默认是不允许列出整个目录的,这是个很实用的小技巧。
......
Linux 从源码编译安装 Nginx的更多相关文章
- Linux系统 - 源码编译安装Nginx
什么是Nginx? Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下N ...
- Linux 从源码编译安装 OpenSSH
https://blog.csdn.net/bytxl/article/details/46639073 Linux 从源码编译安装 OpenSSH以及各问题解决 2015年06月25日 17:37: ...
- CentOS7 源码编译安装Nginx
源码编译安装nginx 1.下载nginx源码包(这里以nginx-1.18.0为例) wget http://nginx.org/download/nginx-1.18.0.tar.gz 2 ...
- 源码编译安装nginx及设置开机启动项
1.上传nginx文档:解压到/data目录下,并安装依赖包tar xf nginx-1.20.1.tar.gz -C /data/cd /data/nginx-1.20.1/ && ...
- Linux下源码编译安装rpy2
R(又称R语言)是一款开源的跨平台的数值统计和数值图形化展现工具.rpy2是Python直接调用R的第三方库,它可以实现使用python读取R的对象.调用R的方法以及Python与R数据结构转换等.这 ...
- Linux 下源码编译安装 vim 8.1
前言 目前 linux 的各个发行版基本上都是带了一个 vi 编辑器的,而本文要说的 vim 编辑器对 vi 做了一些优化升级,更好用.当我们需要远程操作一台 linux 服务器的时候,只能使用命令行 ...
- Centos7通过yum跟源码编译安装Nginx
源码编译安装 http://nginx.org/en/download.html 到官网下载,然后用XFTP上传到root目录 把文件解压出来 tar -zxvf nginx-1.16.0.tar.g ...
- Ubuntu 16.04源码编译安装nginx 1.10.0
一.下载相关的依赖库 pcre 下载地址 http://120.52.73.43/jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.t ...
- 在Linux下源码编译安装GreatSQL/MySQL
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 本 ...
随机推荐
- iOS多线程全套:线程生命周期,多线程的四种解决方案,线程安全问题,GCD的使用,NSOperation的使用
目的 本文主要是分享iOS多线程的相关内容,为了更系统的讲解,将分为以下7个方面来展开描述. 多线程的基本概念 线程的状态与生命周期 多线程的四种解决方案:pthread,NSThread,GCD,N ...
- 随机生成50个字段的elasticsearch的测试程序输入
词典位置:https://raw.githubusercontent.com/jonbcard/scrabble-bot/master/src/dictionary.txt import json f ...
- POJ1474:Video Surveillance(求多边形的核)(占位)
A friend of yours has taken the job of security officer at the Star-Buy Company, a famous depart- me ...
- 「LuoguP1145」 约瑟夫(打表
Description n 个人站成一圈,从某个人开始数数,每次数到 m 的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人.现在有一圈人, k 个好人站在一起, k 个坏人站在一起.从第一个好 ...
- C#使用SendMessage发送组合键
有时需要出发菜单功能,例如发送ALT + F打开应用程序的文件菜单,如何使用SendMessage实现呢? 使用用spy++截取的ALT+F的消息内容(如何使用spy++,请熟悉的高手指点下,我使用s ...
- Rational Rose 2007 &Rational Rose 2003 下载及破解方法和汉化文件下载
Rational Rose 2007 &Rational Rose 2003 下载及破解方法和汉化文件下载 分类: 其它2010-08-10 13:28 12926人阅读 评论(4) 收藏 举 ...
- View Programming Guide for iOS ---- iOS 视图编程指南(四)---Views
Views Because view objects are the main way your application interacts with the user, they have many ...
- git中文件的三种状态
用xcode的时候,左侧栏文件的邮右边时不时会看到M,A这一类的字母.当然,这些以后再写上.先说一下git里文件的三种状态 已提交(committed) 已经提交的本地仓库(repository), ...
- mfc基于对话框的应用程序,如何设置初始对话框大小,移动控件位置
void MmPLEntPropertyDlg::SetInitDialogSize() { CRect rectDlg; GetWindowRect(rectDlg);//x,y为对话框左上角的坐标 ...
- 瞎比比系列---1st
A - 项目管理HDU4858 /* 题意: 这个项目有n个节点, 两个节点间可能有多条边,不过一条边的两端必然是不同的节点. 0的时候:接下来两个数u v表示给项目u的能量值加上v: 1的时候: 这 ...