一条命令搞定nginx安装

来源:互联网 发布:js 空格换成换行符 编辑:程序博客网 时间:2024/06/06 02:12

好吧,其实一条命令只不过是个噱头而已,之前有个项目要迁移,因为项目没有在动态平台上,相当于兼顾运维的一些操作。项目迁移要重新部署lamp环境,之前想用docker来着,结果在学习docker的过程中,整出这个一个nginx的安装配置的自动化脚本出来。

#!/bin/bashdir_name=`pwd`;mkdir /usr/local/myspcae && \    mkdir -p {/data1,/data1/source,/usr/local/myspcae,/usr/local/myspcae/etc,/usr/local/myspcae/sbin,/var/run,/usr/local/myspcae/var,/usr/local/myspcae/var/logs};/usr/sbin/groupadd -f www && \    /usr/sbin/useradd -g www www;yum install -y pcre-devel openssl-devel zlib-devel gd-devel tar gcc wget git supervisor vim mlocate make;wget  http://nginx.org/download/nginx-1.8.0.tar.gz -P /data1/source && \    cd /data1/source && \    tar xvfz /data1/source/nginx-1.8.0.tar.gz && \    cd nginx-1.8.0 && \    ./configure --prefix=/usr/local/myspcae \    --conf-path=/usr/local/myspcae/etc/nginx.conf \    --pid-path=/var/run/nginx.pid \    --error-log-path=/usr/local/myspcae/var/logs/error.log \    --http-log-path=/usr/local/myspcae/var/logs/access.log \    --user=www --group=www \    --with-http_ssl_module \    --with-pcre && \    make && \    make install;cp $dir_name'/nginx'  /etc/init.d/nginx && \chmod 755 /etc/init.d/nginx;

/etc/init.d/nginx 如下

#!/bin/sh## 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 0nginx="/usr/local/myspace/sbin/nginx"prog=$(basename $nginx)NGINX_CONF_FILE="/usr/local/myspace/etc/nginx.conf"[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxstart() {    [ -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 -TERM    retval=$?    echo    [ $retval -eq 0 ] && rm -f $lockfile    return $retval}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 -q -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 2esac



0 0
原创粉丝点击