centos 원 키 설치 설정 nginx 스 크 립 트
installNginx.ssh
vi 또는 vim 으로 installNginx. ssh 편집
#!/bin/bash
# author:kwin
# Email:[email protected]
src="/usr/local/src/"
cd $src
# ,
#findPortKill 80
findPortKill (){
processe=`lsof -i:${1} -n|awk '{print $2}'|grep '^[1-9]'`
for i in $processe
do
# echo "Kill the $1 process [ $i ]"
kill -9 $i
done
}
# PATH ,
addToPATH(){
bin=${1}
echo $PATH|grep ${bin} >/dev/null
if [ $? -ne 0 ]; then
echo "export PATH=\$PATH:${bin}">>/etc/profile
fi
}
nginxConf(){
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
sed -i '35,79c include ../site/*.conf;' /usr/local/nginx/conf/nginx.conf
mkdir /usr/local/nginx/site
cat>/usr/local/nginx/site/default.conf<80;
server_name localhost;
gzip on; # gizip
gzip_buffers 32 4K;# 32 ? 4K
gzip_comp_level 6 ;# 6
gzip_min_length 4000;# 4bit
gzip_types text/css text/xml apploation/x-javascript;# CSS、XML、HTML、JS
#charset koi8-r;
#access_log logs/host.access.log main;
root /var/www;
location / {
# try_files \$uri \$uri/ /index.php?\$query_string;
index index.html index.htm index.php;
# jpg、jpeg、gif、png、js、css
if (\$fastcgi_script_name ~* \.[jpg|jpeg|gif|png|js|css] ) {
expires 1d;
}
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php\$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
include fastcgi_params;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php\$ {
# proxy_pass http://127.0.0.1;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
EOF
}
addNginxService(){
cat>/etc/init.d/nginx<#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/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
nginx="/usr/local/nginx/sbin/nginx"
prog="Nginx"
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
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
}
restart() {
configtest || return $?
stop
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
EOF
chmod 755 /etc/init.d/nginx
chkconfig --add nginx
chkconfig --level 2345 nginx on
}
# nginx
installNginx(){
yum -y install pcre-devel openssl openssl-devel gcc gcc-c++ ncurses-devel perlddd
fileName="nginx-1.9.9"
package="${fileName}.tar.gz"
installDir="/usr/local/nginx"
if test ! -f ${package}
then
wget http://nginx.org/download/${package}
fi
tar zxvf $package
cd $fileName
./configure --prefix=${installDir}
make && make install
echo " "
nginxConf
# 80 ,
#
/usr/local/nginx/sbin/nginx 1> /dev/null 2>&1
if [ $? -ne 0 ]; then
findPortKill 80
/usr/local/nginx/sbin/nginx
fi
#sleep : 。
#usleep : 。
#1s = 1000ms = 1000000us
usleep 100000
pid=`cat /usr/local/nginx/logs/nginx.pid`
echo "nginx , ${pid}"
bin="${installDir}/sbin"
# PATH ,
addToPATH ${bin}
#
addNginxService
}
installNginx
installNginx. ssh 파일 실행 제한 권 부여
# chmod +x installNginx.ssh
설치 실행
./installNginx.ssh
기본 명령
service nginx [start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest]
가상 호스트 관리
설치 디 렉 터 리 (/ usr / local / nginx /) 에 있 는 site 디 렉 터 리 에 default. conf 기본 가상 호스트 관리 모델 이 있 습 니 다. 추 후 확장 가상 호스트 는 default. conf 파일 을 직접 복사 할 수 있 습 니 다. 파일 이름 형식 은 *. conf 이 고 접두사 만. conf 이면 해석 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
링크 ux 패키지 rpm 및 yum 명령 상세 설명특히 소프트웨어 가 여러 rpm 패키지 로 구 성 될 때.YUM (Yellow dog Updater, Modified) 은 Fedora 와 RedHat, SUSE 에 있 는 Shell 전단 패키지 관리자 입 니 다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.