|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
#!/bin/bash
#判断是否是roo用户
if
[ $(
id
-
u) !
=
"0"
]; then
echo
"Error:You must be root to run this script"
fi
#每次使用只需修改自定义内容即可
#自定义用户名和组
Group_Name
=
"nginx"
User_Name
=
"nginx"
#自定义nginx变量
Install_Path
=
"/usr/local/nginx"
Package_Type
=
".tar.gz"
Version
=
"nginx-1.9.8"
Package
=
$Version$Package_Type
Setup_path
=
"/root/"
RPM
=
"nginx"
#自定义/var/tmp/nginx目录
DIR_File
=
"/var/tmp/nginx"
#安装依赖关系
yum group install
"Development Tools"
"Server Platform Deveopment"
yum install
-
y curl openssl
-
devel pcre
-
devel
Group_User(){
egrep
"^$Group_Name"
/
etc
/
group >&
/
dev
/
null
if
[ $?
-
ne
0
]
then
echo
"nginx 用户组正在添加."
groupadd $Group_Name
else
echo
" The $Group_Name user group already exists."
echo
"nginx 用户组已经添加."
fi
#判断nginx用户是否存在
egrep
"^$User_Name"
/
etc
/
passwd >&
/
dev
/
null
if
[ $?
-
ne
0
]
then
echo
"nginx 用户正在添加."
useradd
-
g $Group_Name $User_Name
else
echo
"nginx 用户已经添加."
echo
" The $User_Name user already exists."
fi
}
Group_User
#创建/var/tmp/nginx目录
#mkdir /var/tmp/nginx
if
[
-
e $DIR_File ]
then
echo
" $DIR_File 目录已经存在."
echo
" $DIR_File Directory Already Exists."
else
echo
" $DIR_File 目录正在创建."
mkdir $DIR_File
fi
#判断文件是否存在
if
[
-
e $Setup_path$Version$Package_Type ]
then
echo
"$Package The Package exists."
else
echo
"$Package The package does not exist."
fi
#判断是否用RPM方式安装
function RPM_Install(){
rpm
-
qa | egrep
"$RPM"
>>
/
dev
/
null
if
[ $?
-
eq
0
]
then
echo
"$RPM is install Yes."
else
echo
"$RPM is Not install."
fi
}
RPM_Install
#编译安装nginx
cd $Setup_path
tar
-
zxvf $Package
cd $Version
configure_opts
=
(
-
-
prefix
=
$Install_Path
-
-
sbin
-
path
=
$Install_Path
/
sbin
/
nginx
-
-
conf
-
path
=
/
etc
/
nginx
/
nginx.conf
-
-
error
-
log
-
path
=
/
var
/
log
/
nginx
/
error.log
-
-
http
-
log
-
path
=
/
var
/
log
/
nginx
/
access.log
-
-
pid
-
path
=
/
var
/
run
/
nginx
/
nginx.pid
-
-
lock
-
path
=
/
var
/
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
-
-
http
-
client
-
body
-
temp
-
path
=
/
var
/
tmp
/
nginx
/
client
-
-
http
-
proxy
-
temp
-
path
=
/
var
/
tmp
/
nginx
/
proxy
-
-
http
-
fastcgi
-
temp
-
path
=
/
var
/
tmp
/
nginx
/
fcgi
-
-
http
-
uwsgi
-
temp
-
path
=
/
var
/
tmp
/
nginx
/
uwsgi
-
-
http
-
scgi
-
temp
-
path
=
/
var
/
tmp
/
nginx
/
scgi
-
-
with
-
pcre
)
.
/
configure ${configure_opts[@]}
if
[[ $?
-
eq
0
]]
then
make && make install
else
echo
"编译失败,请重新编译"
&& exit
1
fi
#添加Nginx命令到环境变量
cat >
/
etc
/
profile.d
/
nginx.sh <<EOF
export PATH
=
/
usr
/
local
/
nginx
/
sbin
/
:$PATH
EOF
source
/
etc
/
profile
#启动服务
/
usr
/
local
/
nginx
/
sbin
/
nginx
ss
-
tnlp | grep nginx
|
不足之处:没有添加启动脚本,直接用命令启动的,希望各位大佬能给加上,共享下
本文转自 zhangguangyi 51CTO博客,原文链接:http://blog.51cto.com/bosszhang/1967723