下载所有包,jemalloc(可选)用于优化内存
yumgroupsinstall"DevelopmentTools"-y yum-yinstallbzip2 wget-cftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz wget-chttp://www.openssl.org/source/openssl-1.0.2g.tar.gz wget-chttp://www.zlib.net/zlib-1.2.11.tar.gz wget-chttp://tengine.taobao.org/download/tengine-2.1.2.tar.gz #wgethttp://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2 tar-zxfpcre-8.40.tar.gz-C/usr/local/src/ tar-zxfopenssl-1.0.2g.tar.gz-C/usr/local/src/ tar-zxfzlib-1.2.11.tar.gz-C/usr/local/src/ tar-zxftengine-2.1.2.tar.gz-C/usr/local/src/ #tarjxvfjemalloc-3.6.0.tar.bz2-C/usr/local/src/
1、安装pcre
mkdir/usr/local/pcre cd/usr/local/src/pcre-8.40 ./configure--prefix=/usr/local/pcre make-j makeinstall
2、安装openssl
mkdir/usr/local/openssl cd/usr/local/src/openssl-1.0.2g/ ./config--prefix=/usr/local/openssl makedepend make-j makeinstall
vi /etc/profile
exportPATH=$PATH:/usr/local/openssl/bin or echo"exportPATH=$PATH:/usr/local/openssl/bin">>/etc/profile
:wq!
source/etc/profile
3、安装zlib
mkdir/usr/local/zlib cd/usr/local/src/zlib-1.2.11 ./configure--prefix=/usr/local/zlib make-j makeinstall
4、安装Nginx
groupaddwww useradd-gwwwwww-s/bin/false cd/usr/local/src/tengine-2.1.2/ #开启jemalloc内存优化 ./configure--prefix=/usr/local/Nginx--without-http_memcached_module--user=www--group=www--with-http_stub_status_module--with-http_ssl_module--with-http_gzip_static_module--with-openssl=/usr/local/src/openssl-1.0.2g--with-zlib=/usr/local/src/zlib-1.2.11--with-pcre=/usr/local/src/pcre-8.40--with-jemalloc=/usr/local/src/jemalloc-3.6.0 make makeinstall
注意:--with-openssl=/usr/local/src/openssl-1.0.2g --with-zlib=/usr/local/src/zlib-1.2.11 --with-pcre=/usr/local/src/pcre-8.40指向的是源码包解压的路径,而不是安装的路径,否则会报错
5、添加开机启动脚本
/usr/local/Nginx/sbin/Nginx#启动Nginx
设置Nginx开机启动
vi/etc/rc.d/init.d/Nginx#编辑启动文件添加下面内容
############################################################
#!/bin/sh
#
#Nginx-thisscriptstartsandstopstheNginxdaemon
#
#chkconfig:-8515
#description:NginxisanHTTP(S)server,HTTP(S)reverse\
#proxyandIMAP/POP3proxyserver
#processname:Nginx
#config:/etc/Nginx/Nginx.conf
#config:/usr/local/Nginx/conf/Nginx.conf
#pidfile:/usr/local/Nginx/logs/Nginx.pid
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
#Sourcenetworkingconfiguration.
./etc/sysconfig/network
#Checkthatnetworkingisup.
["$NETWORKING"="no"]&&exit0
Nginx="/usr/local/Nginx/sbin/Nginx"
prog=$(basename$Nginx)
Nginx_CONF_FILE="/usr/local/Nginx/conf/Nginx.conf"
[-f/etc/sysconfig/Nginx]&&./etc/sysconfig/Nginx
lockfile=/var/lock/subsys/Nginx
make_dirs(){
#makerequireddirectories
user=`$Nginx-V2>&1|grep"configurearguments:"|sed's/[^*]*--user=\([^]*\).*/\1/g'-`
if[-z"`grep$user/etc/passwd`"];then
useradd-M-s/bin/nologin$user
fi
options=`$Nginx-V2>&1|grep'configurearguments:'`
foroptin$options;do
if[`echo$opt|grep'.*-temp-path'`];then
value=`echo$opt|cut-d"="-f2`
if[!-d"$value"];then
#echo"creating"$value
mkdir-p$value&&chown-R$user$value
fi
fi
done
}
start(){
[-x$Nginx]||exit5
[-f$Nginx_CONF_FILE]||exit6
make_dirs
echo-n$"Starting$prog:"
daemon$Nginx-c$Nginx_CONF_FILE
retval=$?
echo
[$retval-eq0]&&touch$lockfile
return$retval
}
stop(){
echo-n$"Stopping$prog:"
killproc$prog-QUIT
retval=$?
echo
[$retval-eq0]&&rm-f$lockfile
return$retval
}
restart(){
#configtest||return$?
stop
sleep1
start
}
reload(){
#configtest||return$?
echo-n$"Reloading$prog:"
killproc$Nginx-HUP
RETVAL=$?
echo
}
force_reload(){
restart
}
configtest(){
$Nginx-t-c$Nginx_CONF_FILE
}
rh_status(){
status$prog
}
rh_status_q(){
rh_status>/dev/null2>&1
}
case"$1"in
start)
rh_status_q&&exit0
$1
;;
stop)
rh_status_q||exit0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q||exit7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q||exit0
;;
*)
echo$"Usage:$0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit2
esac
############################################################
:wq!#保存退出
chmod775/etc/rc.d/init.d/Nginx#赋予文件执行权限
chkconfigNginxon#设置开机启动
/etc/rc.d/init.d/Nginxrestart#重启程序
在浏览器中打开服务器IP地址,会看到下面的界面,说明Nginx安装成功。
附./configure检测配置结果
# Configurationsummary +usingPCRElibrary:/usr/local/src/pcre-8.40 +usingOpenSsllibrary:/usr/local/src/openssl-1.1.0e +md5:usingOpenSsllibrary +sha1:usingOpenSsllibrary +usingzliblibrary:/usr/local/src/zlib-1.2.11 +jemalloclibraryisdisabled#这个是我之前没有添加jemalloc内存优化的配置,这只是范例参考 Nginxpathprefix:"/usr/local/Nginx" Nginxbinaryfile:"/usr/local/Nginx/sbin/Nginx" Nginxconfigurationprefix:"/usr/local/Nginx/conf" Nginxconfigurationfile:"/usr/local/Nginx/conf/Nginx.conf" Nginxpidfile:"/usr/local/Nginx/logs/Nginx.pid" Nginxerrorlogfile:"/usr/local/Nginx/logs/error.log" Nginxhttpaccesslogfile:"/usr/local/Nginx/logs/access.log" Nginxhttpclientrequestbodytemporaryfiles:"client_body_temp" Nginxdsomodulepath:"/usr/local/Nginx/modules/" Nginxhttpproxytemporaryfiles:"proxy_temp" Nginxhttpfastcgitemporaryfiles:"fastcgi_temp" Nginxhttpuwsgitemporaryfiles:"uwsgi_temp" Nginxhttpscgitemporaryfiles:"scgi_temp"
扩展阅读:
Nginx配置txt、pdf、doc、xls等文件直接下载的方法
在Nginx配置文件中添加以下代码
location / {
if ($request_filename ~* ^.*?\.(txt|pdf|doc|xls)$){
add_header Content-disposition: 'attachment;';
}
}
参考:
http://www.osyunwei.com/archives/10057.html
http://blog.csdn.net/elong490/article/details/54913193