2分钟教你玩转Tengine编译安装部署
Tengine部分特性
nginx -m 查看所有已经加载的模块,static说明已经安装的,shared说明是动态安装的;
nginx架构是模块化的,除了主模块,其他模块都需在安装时进行编译安装,也可在安装后进行编译安装;
tengine完全兼容nginx的配置;
tengine实现动态加载模块,不需重新编译,就可以实现安装新的模块。动态模块功能会被默认安装。而nginx不支持模块动态加载,需要编译重启;
首先下载tengine-2.2.0.tar.gz;下载链接:http://pan.baidu.com/s/1jI7cycm 密码:ig6x
#安装编译所需环境:
yum groupinstall "development Tools" "Server Platform Development" -y
#安装编译所需的扩展模块:
yum -y install zlib-devel pcre-devel openssl-devel
#注释
zlib-devel扩展模块:支持压缩
pcre-devel扩展模块:支持url重写,pool扩展
openssl-devel扩展模块:支持https协议
#查看编译所支持的模块(个别常用的):
[root@meng tengine-2.2.0]# ./configure --help | less --prefix=PATH set installation prefix #指定安装路径 --sbin-path=PATH set nginx binary pathname #nginx二进制启动脚本路径 --conf-path=PATH set nginx.conf pathname #conf配置文件路径 --error-log-path=PATH set error log pathname #错误日志路径 --pid-path=PATH set nginx.pid pathname #pid存放路径 --lock-path=PATH set nginx.lock pathname #锁文件存放路径 --without-http disable HTTP server #提供http服务,默认开启 --without-http-cache disable HTTP cache #提供http缓存服务,默认开启 --without-http_stub_status_module disable ngx_http_stub_status_module #ngixn自带的状态页面,默认关闭 --with-http_gzip_static_module enable ngx_http_gzip_static_module #压缩木块
编译安装tengine:
[root@meng tengine-2.2.0]# ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/usr/local/nginx/log/error.log --http-log-path=/usr/local/nginx/log/access.log --pid-path=/usr/local/nginx/nginx.pid --lock-path=/usr/local/nginx/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module
#开启4个进程编译安装:
[root@meng tengine-2.2.0]# make -j 4 && make install
配置文件部分:
#修改nginx.conf文件中的http模块的配置,原有的文件可以mv做个备份。
vim nginx.conf user root; worker_processes 4; error_log /usr/local/nginx/log/error.log; pid /usr/local/nginx/log/nginx.pid; events { worker_connections 10240; use epoll; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] $server_name "$request"' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" "time:$request_time"'; access_log /usr/local/nginx/log/access.log main; client_max_body_size 500m; sendfile on; keepalive_timeout 300; gzip on; gzip_disable "msie6"; gzip_proxied any; gzip_min_length 2048; gzip_comp_level 4; gzip_types text/plain application/x-javascript application/javascript text/javascript text/css application/xml application/json p_w_picpath/jpeg p_w_picpath/gif p_w_picpath/png; include /usr/local/nginx/conf/conf.d/*.conf; include conf.d/*.conf; #当然也可以改为相对路径 }
#nginx启动脚本,拷贝nginx的或者网上复制一份启动脚本,自己修改下。如下
[root@meng ~]# cat /etc/init.d/nginx #!/bin/bash # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse # proxy and IMAP/POP3 proxy server # processname: nginx # config: /etc/nginx/nginx.conf # config: /etc/sysconfig/nginx # pidfile: /var/run/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 TENGINE_HOME="/usr/local/nginx/" nginx=$TENGINE_HOME"sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE=$TENGINE_HOME"conf/nginx.conf" [ -f /etc/sysconfig/nginx ] && /etc/sysconfig/nginx lockfile=/usr/local/nginx/lock/nginx.lock start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval killall -9 nginx } restart() { configtest || return $? stop sleep 1 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/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac
#提示锁目录文件不存在
[root@meng ~]# service nginx start 正在启动 nginx: [确定] touch: 无法创建"/usr/local/nginx/lock/nginx.lock": 没有那个文件或目录
#创建锁目录,重新启动nginx
[root@meng ~]# mkdir /usr/local/nginx/lock/ [root@meng ~]# service nginx restart nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 停止 nginx: [确定] 正在启动 nginx: [确定]
#创建一个静态web服务器:
[root@meng conf.d]# cat static.conf server { listen 80 default_server; server_name _; location /{ root /data/company/; index index.html index.htm; } } server { listen 81 default_server; server_name _; location /{ root /data/www/; index index.html index.htm; } } server { listen 82 default_server; server_name _; location /{ root /data/meng/; index index.html index.htm; } }
#创建静态资源目录:
mkdir /data/meng
#创建一个index.html页面。
[root@meng meng]# cat index.html 192.168.121.128
#通过浏览器访问:
到此编译安装配置完成。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MySQL 分区表原理及数据备份转移实战
MySQL 分区表原理及数据备份转移实战 1、分区表含义 分区表定义指根据可以设置为任意大小的规则,跨文件系统分配单个表的多个部分。实际上,表的不同部分在不同的位置被存储为单独的表。用户所选择的、实现数据分割的规则被称为分区函数,这在MySQL中它可以是模数,或者是简单的匹配一个连续的数值区间或数值列表,或者是一个内部HASH函数,或一个线性HASH函数。 分表与分区的区别在于:分区从逻辑上来讲只有一张表,而分表则是将一张表分解成多张表。 2、分区表优点 1)分区表更容易维护。对于那些已经失去保存意义的数据,通常可以通过删除与那些数据有关的分区,很容易地删除那些数据。相反地,在某些情况下,添加新数据的过程又可以通过为那些新数据专门增加一个新的分区,来很方便地实现。 2)一些查询可以得到极大的优化,这主要是借助于满足一个给定WHERE语句的数据可以只保存在一个或多个分区内,这样在查找时就不用查找其他剩余的分区。因为分区可以在创建了分区表后进行修改,所以在第一次配置分区方案时还不曾这么做时,可以重新组织数据,来提高那些常用查询的效率。 3)优化查询。涉及到例如SUM()和CO...
- 下一篇
系统内存耗尽的案例分析
近日遇到一个RAC节点hang导致节点被重启的问题,最后经过分析,发现在系统运行一段时间后,系统内存就会耗尽,原本256G的内存,最后只剩几百M。 1. 问题时间段的TOP输出可以看到,内存只剩7G,而分析内存问题,TOP输出是不够的,一般情况下,Database的SGA和PGA是内存使用大户,所以,在TOP很难发现谁是使用内存最多的。 除非某些进程内存使用的格外明显 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LinuxOSWbbv7.3.3 zzz***TueFeb2100:00:10CST2017 top-00:00:12up14:16,10users,loadaverage:2.97,2.31,2.05 Tasks:3087total,11running,3076sleeping,0stopped,0zombie Cpu(s):11.7%us,2.8%sy,0.0%ni,83.7%id,0.9%wa,0.0%hi,0.9%si,0.0%st Mem:257948Mtotal,250464Mused,7484Mfree,113Mb...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2全家桶,快速入门学习开发网站教程