centos7.x编译安装淘宝tengine-2.1.2

下载所有包,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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor 1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep 'Time zone'查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO="static" ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名</param> /// <returns>返回小写后缀,不带“.”</ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start & nohup ./kibana &
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程, ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属