Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
3ef82a90
Commit
3ef82a90
authored
Sep 02, 2012
by
mikka
Browse files
nginx and php-fpm plugins
parent
921d2f49
Changes
5
Hide whitespace changes
Inline
Side-by-side
plugins/nginx/nginx.plugin.zsh
0 → 100644
View file @
3ef82a90
:
${
NGINX_DIR
:
=/etc/nginx
}
:
${
NGINX_VHOST_TEMPLATE
:
=
$ZSH
/plugins/nginx/templates/symfony2
}
if
[
$use_sudo
-eq
1
]
;
then
sudo
=
"sudo"
else
sudo
=
""
fi
# nginx basic completition
_nginx_get_en_command_list
()
{
ls
-a
$NGINX_DIR
/sites-available |
awk
'/^[a-z][a-z.-]+$/ { print $1 }'
}
_nginx_get_dis_command_list
()
{
ls
-a
$NGINX_DIR
/sites-enabled |
awk
'/^[a-z][a-z.-]+$/ { print $1 }'
}
_nginx_en
()
{
compadd
`
_nginx_get_en_command_list
`
}
_nginx_dis
()
{
compadd
`
_nginx_get_dis_command_list
`
}
# Enabling a site
en
()
{
if
[
!
$1
]
;
then
echo
"
\0
33[337;41m
\n
The name of the vhost is required!
\n\0
33[0m"
;
return
fi
if
[
!
-e
$NGINX_DIR
/sites-available/
$1
]
;
then
echo
"
\0
33[31m
$1
\0
33[0m doesn't exist"
;
return
fi
if
[
!
-e
$NGINX_DIR
/sites-enabled/
$1
]
;
then
$sudo
ln
-s
$NGINX_DIR
/sites-available/
$1
$NGINX_DIR
/sites-enabled/
$1
;
if
[
-e
/etc/nginx/sites-enabled/
$1
]
;
then
echo
"
\0
33[32m
$1
\0
33[0m successfully enabled"
;
else
echo
"An error occured during the enabling of
\0
33[31m
$1
\0
33[0m"
;
fi
else
echo
"
\0
33[31m
$1
\0
33[0m is already enabled"
;
fi
}
compdef _nginx_en en
# Disabling a site
dis
()
{
if
[
!
$1
]
;
then
echo
"
\0
33[337;41m
\n
The name of the vhost is required!
\n\0
33[0m"
;
return
fi
if
[
!
-e
$NGINX_DIR
/sites-enabled/
$1
]
;
then
echo
"
\0
33[31m
$1
\0
33[0m doesn't exist"
;
else
$sudo
rm
-f
$NGINX_DIR
/sites-enabled/
$1
;
if
[
!
-e
$NGINX_DIR
/sites-enabled/
$1
]
;
then
echo
"
\0
33[32m
$1
\0
33[0m successfully disabled"
;
else
echo
"An error occured during the disabling of
\0
33[31m
$1
\0
33[0m"
;
fi
fi
}
compdef _nginx_dis dis
# Completition of vhost
_nginx_get_possible_vhost_list
()
{
ls
-a
$HOME
/www |
awk
'/^[^.][a-z0-9._]+$/ { print $1 }'
}
_nginx_vhost
()
{
compadd
`
_nginx_get_possible_vhost_list
`
}
# Parsing arguments
vhost
()
{
user
=
$USER
;
template
=
$NGINX_VHOST_TEMPLATE
tpl
=
"non_existing_template"
enable
=
1
write_hosts
=
0
args
=
""
while
getopts
":lu:t:nwh"
option
do
case
$option
in
l
)
ls
$NGINX_DIR
/sites-enabled
;
return
;;
u
)
user
=
$OPTARG
;
args
=
"
$args
-u
$OPTARG
"
;;
t
)
tpl
=
$OPTARG
;
args
=
"
$args
-t
$OPTARG
"
;;
n
)
enable
=
0
;
args
=
"
$args
-n"
;;
w
)
write_hosts
=
1
;
args
=
"
$args
-w"
;;
h
)
_vhost_usage
;
return
;;
esac
done
vhost
=
${
@
:
-1
}
vhostNotGiven
=
0
if
[
!
$vhost
]
;
then
vhostNotGiven
=
1
else
if
[
$(
echo
$args
|
grep
-o
$vhost
)
]
;
then
vhostNotGiven
=
1
fi
fi
if
[
$vhostNotGiven
-eq
1
]
;
then
echo
"
\0
33[337;41m
\n
The name of the vhost is required!
\n\0
33[0m"
return
fi
if
[
-e
$ZSH
/plugins/nginx/templates/
$tpl
]
;
then
template
=
$ZSH
/plugins/nginx/templates/
$tpl
elif
[
-e
$tpl
]
;
then
template
=
$tpl
fi
_vhost_generate
$vhost
$user
if
[
$enable
-eq
1
]
;
then
en
$vhost
fi
if
[
$write_hosts
-eq
1
]
;
then
_write_hosts
$vhost
fi
}
compdef _nginx_vhost vhost
_vhost_usage
()
{
echo
"Usage: vhost [options] [vhost_name]"
echo
echo
"Options"
echo
" -l Lists enabled vhosts"
echo
" -u Sets the user - defaults to the current user (
$USER
)"
echo
" -t Sets the template"
echo
" -n Does not enable the generated vhost"
echo
" -w Write the vhost to the /etc/hosts file pointing to 127.0.0.1 (writes it at the end of the first line actually)"
echo
" -h Get this help message"
return
}
# Generate config file
_vhost_generate
()
{
user
=
$(
cat
/etc/passwd |
grep
$2
|
awk
-F
:
'{print $1 }'
)
if
[
!
$user
]
;
then
echo
"User
\0
33[31m
$2
\0
33[0m doesn't have an account on
\0
33[33m
$HOST
\0
33[0m"
return
fi
echo
"Generating
\0
33[32m
$1
\0
33[0m vhost for
\0
33[33m
$user
\0
33[0m user"
user_id
=
$(
cat
/etc/passwd |
grep
$2
|
awk
-F
:
'{print $3 }'
)
pool_port
=
1
$user_id
conf
=
$(
sed
-e
's/{vhost}/'
$1
'/g'
-e
's/{user}/'
$user
'/g'
-e
's/{pool_port}/'
$pool_port
'/g'
$template
)
echo
$conf
>
$1
.tmp
$sudo
mv
$1
.tmp
$NGINX_DIR
/sites-available/
$1
if
[
-e
$NGINX_DIR
/sites-available/
$1
]
;
then
echo
"
\0
33[32m
$1
\0
33[0m vhost has been successfully created"
else
echo
"An error occured during the creating of
\0
33[31m
$1
\0
33[0m vhost"
fi
}
# Write the /etc/hosts file
_write_hosts
()
{
temp
=
$HOME
/hosts.temp
exec
< /etc/hosts
while
read
line
do
if
[
-e
$temp
]
;
then
echo
"
$line
"
>>
$temp
;
else
echo
"
$line
$1
"
>
$temp
;
fi
done
$sudo
mv
$temp
/etc/hosts
;
"
\0
33[32m
$1
\0
33[0m vhost has been successfully written in /etc/hosts"
}
alias
ngt
=
"
$sudo
nginx -t"
alias
ngr
=
"
$sudo
service nginx restart"
plugins/nginx/templates/plain_php
0 → 100644
View file @
3ef82a90
server {
root /home/{user}/www/{vhost};
index index.php;
server_name {vhost};
error_log /var/log/nginx/{vhost}.error.log;
access_log /var/log/nginx/{vhost}.access.log;
location / {
try_files $uri $uri/ $uri/index.php;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:{pool_port};
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
location ~ /\.ht {
deny all;
}
}
plugins/nginx/templates/symfony2
0 → 100644
View file @
3ef82a90
server {
root /home/{user}/www/{vhost}/web;
index app_dev.php;
server_name {vhost};
client_max_body_size 10M;
error_log /var/log/nginx/{vhost}.error.log;
access_log /var/log/nginx/{vhost}.access.log;
location / {
try_files $uri $uri/ /app_dev.php;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:{pool_port}
location ~ ^/(app|app_dev|check)\.php(/|$) {
fastcgi_pass 127.0.0.1:{pool_port};
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
location ~ /\.ht {
deny all;
}
}
plugins/php-fpm/php-fpm.plugin.zsh
0 → 100644
View file @
3ef82a90
:
${
FPM_DIR
:
=/etc/php5/fpm
}
if
[
$use_sudo
-eq
1
]
;
then
sudo
=
"sudo"
else
sudo
=
""
fi
_fpm_get_possible_pool_list
()
{
cat
/etc/passwd |
awk
-F
:
'{print $1 }'
}
_fpm_pool
()
{
compadd
`
_fpm_get_possible_pool_list
`
}
pool
()
{
while
getopts
":lh"
option
do
case
$option
in
l
)
ls
$FPM_DIR
/pool.d
;
return
;;
h
)
_pool_usage
;
return
;;
*
)
_pool_usage
;
return
;;
# Default.
esac
done
if
[
!
$1
]
;
then
user
=
$USER
else
user
=
$1
fi
_pool_generate
$user
}
compdef _fpm_pool pool
_pool_usage
()
{
echo
"Usage: pool [options] [user]"
echo
echo
"Options"
echo
" -l Lists fpm pools"
echo
" -h Get this help message"
return
}
_pool_generate
()
{
user
=
$(
cat
/etc/passwd |
grep
$1
|
awk
-F
:
'{print $1 }'
)
if
[
!
$user
]
;
then
echo
"User
\0
33[31m
$1
\0
33[0m doesn't have an account on
\0
33[33m
$HOST
\0
33[0m"
return
fi
group
=
$(
groups
$user
|
cut
-d
" "
-f
3
)
echo
"Generating pool for
\0
33[33m
$user
\0
33[0m user with
\0
33[33m
$group
\0
33[0m group"
user_id
=
$(
cat
/etc/passwd |
grep
$1
|
awk
-F
:
'{print $3 }'
)
pool_port
=
1
$user_id
:
${
FPM_POOL_TEMPLATE
:
=
$ZSH
/plugins/php-fpm/templates/pool
}
conf
=
$(
sed
-e
's/{user}/'
$user
'/g'
-e
's/{group}/'
$group
'/g'
-e
's/{pool_port}/'
$pool_port
'/g'
$FPM_POOL_TEMPLATE
)
echo
$conf
>
$user
.conf
$sudo
mv
$user
.conf
$FPM_DIR
/pool.d/
$user
.conf
if
[
-e
$FPM_DIR
/pool.d/
$user
.conf
]
;
then
echo
"Pool for
\0
33[32m
$user
\0
33[0m user has been successfully created"
else
echo
"An error occured during the creating of pool for
\0
33[31m
$user
\0
33[0m user"
fi
}
alias
fpmr
=
"
$sudo
service php5-fpm restart"
plugins/php-fpm/templates/pool
0 → 100644
View file @
3ef82a90
[{user}]
user = {user}
group = {group}
listen = 127.0.0.1:{pool_port}
pm = dynamic
pm.max_children = 10
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 100
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment