千家信息网

CentOS 6 nginx(Tengine2.1.2)源码编译一键部署脚本

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,目标:一键部署nginx软件:tengine-2.1.2.tar.gz(nginx的分支)备注:只适用于CentOS 6 64位系统,附带线上生产环境的nginx配置文件软件包:链接:http://p
千家信息网最后更新 2024年11月18日CentOS 6 nginx(Tengine2.1.2)源码编译一键部署脚本

目标:一键部署nginx

软件:tengine-2.1.2.tar.gz(nginx的分支)

备注:只适用于CentOS 6 64位系统,附带线上生产环境的nginx配置文件

软件包:链接:http://pan.baidu.com/s/1jIyZrRS 密码:q9uu


[root@salt-master home]# cat nginx.sh

#!/bin/bash

#

#适用版本CentOS 6 64位

#2017.5.11

. /etc/init.d/functions

dir=/root/test

user=www

group=www

del_dir() {

read -p "需要删除${dir} 是否删除[Y|y/N|n]:" del

case $del in

Y|y)

rm -rf $dir

mkdir $dir

cd $dir

;;

N|n)

echo "安装终止"

exit 7

;;

*)

echo "请输入正确的值"

exit 8

;;

esac

}

[ ! -d $dir ] && {

mkdir $dir

cd $dir

} || del_dir

wget http://172.2.0.68/tengine-2.1.2.tar.gz

wget http://172.2.0.68/nginx.txt

wget http://172.2.0.68/pcre-8.31.tar.bz2

yum -y install gcc gcc-c++ pcre-devel openssl-devel

[ ! `grep $group /etc/group &>/dev/null` ] && {

groupadd www

}

[ ! `grep $user /etc/passwd &>/dev/null` ] && {

useradd -M -g www -s /sbin/nologin www

}

echo "###########安装pcre######################"

sleep 4

tar -jxvf pcre-8.31.tar.bz2

[ $? -eq 0 ] && cd pcre-8.31 || exit 6

./configure --prefix=/usr/local/pcre

make && make install

#######################################

cd ..

[ -e $dir/tengine-2.1.2.tar.gz ] && {

tar -zxvf tengine-2.1.2.tar.gz

cd tengine-2.1.2

}

./configure --user=www --group=www --prefix=/mnt/tengine/tengine-2.1.2 --with-http_stub_status_module --with-pcre --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_upstream_check_module --with-ipv6

[ $? -eq 0 ] && {

make && make install

} || {

echo "编译出错"

exit 7

}

[ -f $dir/nginx.txt ] && {

mv /mnt/tengine/tengine-2.1.2/conf/nginx.conf /mnt/tengine/tengine-2.1.2/conf/nginx.confbak

cat $dir/nginx.txt >/mnt/tengine/tengine-2.1.2/conf/nginx.conf

} || {

echo "配置文件填写错误,请检查配置文件nginx.conf"

exit 5

}

echo "###启动服务####"

/mnt/tengine/tengine-2.1.2/sbin/nginx -t

[ $? -eq 0 ] && {

/mnt/tengine/tengine-2.1.2/sbin/nginx

} || {

echo "启动服务失败"

exit 8

}


###########################################################################################

[root@linux-node8 html]# cat nginx.txt

user www www;

worker_processes 1;

pid /mnt/tengine/tengine-2.1.2/logs/nginx.pid;

worker_rlimit_nofile 65535;

events {

use epoll;

worker_connections 4096;

}

http {

include mime.types;

default_type application/octet-stream;

#charset utf-8;

access_log off;

error_log logs/error.log notice;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"$request_time"';

server_names_hash_bucket_size 128;

client_header_buffer_size 32k;

large_client_header_buffers 4 32k;

client_max_body_size 300m;

sendfile on;

tcp_nopush on;

keepalive_timeout 65;

tcp_nodelay on;

server_tokens off;

client_body_buffer_size 512k;

proxy_connect_timeout 5;

proxy_read_timeout 60;

proxy_send_timeout 5;

proxy_buffer_size 16k;

proxy_buffers 4 64k;

proxy_busy_buffers_size 128k;

proxy_temp_file_write_size 128k;

gzip on;

gzip_min_length 1k;

gzip_buffers 4 16k;

gzip_http_version 1.1;

gzip_comp_level 2;

gzip_types text/plain application/x-javascript text/css application/xml;

gzip_vary on;


server {

listen 80;

server_name localhost;

location / {

root html;

index index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}


upstream backend_server {

ip_hash;

server 192.168.1.10:80 max_fails=2 fail_timeout=30s;

server 192.168.1.20:80 max_fails=2 fail_timeout=30s;

}

server{

listen 80;

server_name www.abc.com;

server_name abc.com;

server_name testindex.abc.com;

location / {

proxy_redirect off;

#proxy_next_upstream http_502 http_504 error timeout invalid_header;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://backend_server;

}

}

upstream sqzone_api{

ip_hash;

server 192.168.0.10:80 max_fails=2 fail_timeout=30s;

server 192.168.0.20:80 max_fails=2 fail_timeout=30s;

}

server{

listen 80;

server_name sqZone.test.com;

server_name sqapi.test.com;

server_name sqapiby.test.com;

server_name sqapiby1.test.com;

server_name sqapitixing.test.com;

server_name sqapitixingby.test.com;

server_name sqapitixingby1.test.com;

location / {

proxy_redirect off;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://sqzone_api;

}

}

}


文件 配置 软件 服务 一键 编译 分支 备注 密码 版本 环境 目标 系统 软件包 链接 错误 上生 检查 输入 源码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 公司需要养着一个软件开发团队吗 软件开发工程师好找工作吗 上海水电缴费软件开发团队 服务器断线重连 肇庆手机软件开发常见问题 mysql用户与数据库关系 协议软件开发工程师招聘 北京房保互联网科技有限公司 r710服务器风扇调速 魔兽现在哪些服务器可以免费转服 软件开发面试时感觉啥都不会 软件开发一定要对电脑敲代码吗 湖州软件开发大概多少钱 两个页面共享数据库连接 cdp服务器 京东支付杭州义牛网络技术 汕尾工控网络安全 购买国泰安数据库 软件开发与编程序哪个工资高 七日杀服务器管理文件在哪里 静安区市场软件开发定制大概费用 服务器的应用镜像是什么意思 access 数据库应用 浦东新区进口软件开发产品介绍 金凤区企业管控软件开发公司 河北汉博网络技术有限公司 重庆硬盘服务器回收 access数据库如何编程 三国杀充月卡提示服务器危险 Wind数据库可以用个人账号吗
0