博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu server nginx编译安装实践
阅读量:7299 次
发布时间:2019-06-30

本文共 4375 字,大约阅读时间需要 14 分钟。

hot3.png

1.下载

1.1、准备OpenSSL

可以从连接 看到所有的openssl的下载版本

这里我们选择最终版

wget ftp://ftp.openssl.org/source/openssl-1.0.0k.tar.gz

1.2、准备zlib

我这边打不开zlib官方网站,不过可以从CU下载

zlib-1.2.7.tar.gz

1.3、准备pcre

安装pcre是为了让nginx支持正则表达式

可以从连接

看到所有的pcre的版本

这里我们选择最新的一个发行版本

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gz

1.4、Nginx

官方nginx下载地址 

目前最新版本是1.4.0,是一个稳定版,从nginx news上看,发布时间应该是两个月前,我们这里下载

最新版本的nginx

wget http://nginx.org/download/nginx-1.4.0.tar.gz

2.准备

2.1、安装zlib

tar zxvf zlib-1.2.7.tar.gzcd zlib-1.2.7./configure --prefix=/usr/localmake && make install

2.2、安装openssl

tar zxvf openssl-1.0.0k.tar.gzcd openssl-1.0.0k./config \--prefix=/usr/local --openssldir=/usr/local/sslmake && make install./config shared \    --prefix=/usr/local     --openssldir=/usr/local/sslmake cleanmake && make install

2.3、解压pcre

tar zxvf pcre-8.32.tar.gz

不要进行安装,留后边用

3、安装配置

3.1、安装nginx

mkdir /usr/local/nginxtar zxvf nginx-1.4.0.tar.gzcd nginx-1.4.0./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_realip_module \--with-http_gzip_static_module \--with-http_stub_status_module \--with-mail \--with-mail_ssl_module \--with-pcre=../pcre-8.32 \--with-zlib=../zlib-1.2.7 \--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/scgimake make install

3.2、相关flags功能介绍

--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.32 #注意是未安装的pcre路径
--with-zlib=../zlib-1.2.7 #注意是未安装的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 临时文件路径

3.3、开机自启动配置

nginx_init

#! /bin/sh### BEGIN INIT INFO# Provides:          nginx# Required-Start:    $local_fs $remote_fs $network $syslog# Required-Stop:     $local_fs $remote_fs $network $syslog# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# Short-Description: starts the nginx web server# Description:       starts nginx using start-stop-daemon### END INIT INFOPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDAEMON=/usr/local/nginx/sbin/nginxNAME=nginxDESC=nginxDAEMON_OPTS=''test -x $DAEMON || exit 0# Include nginx defaults if available#if [ -f /etc/default/nginx ] ; then#       . /etc/default/nginx#fiset -e. /lib/lsb/init-functions#test_nginx_config() {#  if $DAEMON -t $DAEMON_OPTS#  then#    return 0#  else#    return $?#  fi#}case "$1" in  start)        echo -n "Starting $DESC: "        start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \                --exec $DAEMON || true        echo "$NAME."        ;;  stop)        echo -n "Stopping $DESC: "        start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \                --exec $DAEMON || true        echo "$NAME."        ;;  restart|force-reload)        echo -n "Restarting $DESC: "        start-stop-daemon --stop --quiet --pidfile \                /var/run/$NAME.pid --exec $DAEMON || true        sleep 1        start-stop-daemon --start --quiet --pidfile \                /var/run/$NAME.pid --exec $DAEMON || true        echo "$NAME."        ;;  reload)        echo -n "Reloading $DESC configuration: "        start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \            --exec $DAEMON || true        echo "$NAME."        ;;  status)        status_of_proc -p /var/run/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?        ;;  *)        echo "Usage: $NAME {start|stop|restart|reload|force-reload|status}" >&2        exit 1        ;;esacexit 0
sudo cp nginx_init /etc/init.d/sudo update-rc.d nginx_init defaults

3.4、ngnix配置

请参考

转载于:https://my.oschina.net/chenlei123/blog/128299

你可能感兴趣的文章
DDR的前世与今生(二)
查看>>
BLOG的下面部分内容怎么去掉?没有找到相关的设置!大家帮忙看看!
查看>>
Microsoft Visual C++ Redistributable Package下载
查看>>
简单数论总结1——gcd与lcm
查看>>
javascript创建对象方法总结
查看>>
蓝桥杯【入门训练】 Fibonacci数列
查看>>
poj - 2406 Power Strings 【KMP】
查看>>
bzoj2616: SPOJ PERIODNI——笛卡尔树+DP
查看>>
[学习笔记]博弈论
查看>>
[ZJOI2019]线段树
查看>>
App Store有哪些原因会影响app应用上架呢?(分享)
查看>>
C# Expression 树转化为SQL与语句(二)--解决参数问题
查看>>
POJ 1191 棋盘分割
查看>>
10.14 (上午)开课一个月零十天 (PHP环境搭建)
查看>>
Java 内存分配及垃圾回收机制初探
查看>>
《Python网络数据采集》笔记之采集
查看>>
图解:window与BOM的关系
查看>>
apparmor开启
查看>>
PostgreSQL内核分析——BTree索引
查看>>
贪心(qwq)习题题解
查看>>