zoukankan      html  css  js  c++  java
  • 【linux】系统初始化的shell脚本

    根据参考网上的一些文章,总结出来一个系统初始化的shell脚本

    1、初始化脚本

    #!/bin/bash
    
    cat << EOF
    +---------------------------------------------------------------------------+
    |  Initialize for the CentOS 6_installed.                                   |
    +---------------------------------------------------------------------------+
    EOF
    
    function format() {
        #sleep 1
        #echo -e "33[42;37m ########### Finished ########### 33[0m
    "
    	echo -e "33[32m Install Success!!!33[0m
    "
    }
    
    ##########################################################################
    # Set time 时区/时间同步设置
    echo "Set time."
    /bin/cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &> /dev/null
    yum -y install ntpdate &> /dev/null
    ntpdate  0.centos.pool.ntp.org &> /dev/null
    hwclock -w
    format
    
    ##########################################################################
    # Create Log 创建该脚本运行记录日志
    echo "Create log file."
    DATE1=`date +"%F %H:%M"`
    LOG=/var/log/sysinitinfo.log
    echo $DATE1 >> $LOG
    echo "------------------------------------------" >> $LOG
    format
    
    ###########################################################################
    # Disabled Selinux 禁用Selinux
    echo "Disabled SELinux."
    sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux
    format
    
    ###########################################################################
    # Stop iptables 禁用iptables
    echo "Stop iptables."
    service iptables stop &> /dev/null
    chkconfig --level 235 iptables off
    format
    
    ###########################################################################
    # Disable ipv6 禁用IPV6
    echo "Disable ipv6."
    cat << EOF > /etc/modprobe.conf
    alias net-pf-10 off
    alias ipv6 off
    EOF
    chkconfig --level 2235 ip6tables off
    format
    
    ##########################################################################
    #Set history commands  设置命令历史记录参数
    echo "Set history commands."
    sed -i 's/HISTSIZE=1000/HISTSIZE=100/' /etc/profile
    sed -i "8 s/^/alias vi='vim'/" /root/.bashrc
    
    grep 'HISTFILESIZE' /etc/bashrc &>/dev/null 
    if [ $? -ne 0 ] 
    then
    cat << EOF >> /etc/bashrc
    HISTFILESIZE=4000
    HISTSIZE=4000
    HISTTIMEFORMAT='%F/%T'
    EOF
    fi
    source /etc/bashrc
    format
    
    ##########################################################################
    # set vim
    echo "Set Vim."
    
    cat << EOF > ~/.vimrc
    set number 
    set laststatus=2
    set shiftwidth=4
    set tabstop=4
    set noexpandtab
    set softtabstop=4
    set cmdheight=3
    set cursorline
    set formatoptions=tcrqn  
    set encoding=utf-8 
    
    syntax on
    colorscheme desert
    color ron 
    set background=dark
    
    set ruler  
    set rulerformat=%20(%2*%<%f%= %m%r %3l %c %p%%%)
    
    set statusline=%F%m%r%h%w [FORMAT=%{&ff}] [TYPE=%Y] [POS=%l,%v][%p%%] %{strftime("%d/%m/%y - %H:%M")}
    nmap z :x<cr> 
    nmap sp :set paste<cr>i
    EOF
    
    format
    
    ##########################################################################
    # Epel 升级epel源
    echo "Install epel"
    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm &> /dev/null
    sed -i "s/^#base/base/g" /etc/yum.repos.d/epel.repo
    sed -i "s/^mirr/#mirr/g" /etc/yum.repos.d/epel.repo
    format
    
    ##########################################################################
    #Yum install Development tools  安装开发包组及必备软件
    echo "Install Development tools(It will be a moment)"
    yum groupinstall -y "Development tools" &> /dev/null
    yum install -y bind-utils lrzsz wget gcc gcc-c++ vim htop openssl &>/dev/null
    format
    
    ##########################################################################
    # Yum update bash and openssl  升级bash/openssl
    echo "Update bash and openssl"
    yum -y update bash openssl &> /dev/null
    format
    
    ###########################################################################
    # Set ssh 设置ssh登录策略
    echo "Set sshd."
    sed -i "s/^#PermitEmptyPasswords/PermitEmptyPasswords/" /etc/ssh/sshd_config
    sed -i "s/^#LoginGraceTime 2m/LoginGraceTime 6m/" /etc/ssh/sshd_config
    
    grep "UseDNS no" /etc/ssh/sshd_config &>/dev/null
    if [ $? -ne 0 ]
    then
    	echo "UseDNS no" >> /etc/ssh/sshd_config 
    fi
    format
    
    ###########################################################################
    # Set default init 3  设置系统默认初始化
    echo "Default init 3."
    sed -i 's/^id:5:initdefault:/id:3:initdefault:/' /etc/inittab
    format
    
    ###########################################################################
    echo "Tunoff services."
    
    for i in `ls /etc/rc3.d/S*`
    do
        servers=`echo $i|cut -c 15-`
    
    	echo $servers
    	case $servers in crond | irqbalance | microcode_ctl | network | random | postfix | sshd | rsyslog | local | smart | cpuspeed | mysqld | httpd | ntpd | php-fpm | nginx)
    		echo -e "33[31m Base services, Skip!33[0m"
          ;;
          *)
    		echo -e "33[31m change $servers to off33[0m"
    		chkconfig --level 235 $servers off
    		service $servers stop
          ;;
    esac
    done
    
    format
    
    ###########################################################################
    # Del unnecessary users 删除不必要的用户
    echo "Del unnecessary users."
    for USERS in adm lp sync shutdown halt mail news uucp operator games gopher
    do
        grep $USERS /etc/passwd &>/dev/null
        if [ $? -eq 0 ]
        then
            userdel $USERS &> /dev/null
        fi
    done
    format
    
    ###########################################################################
    # Del unnecessary groups 删除不必要的用户组
    echo "Del unnecessary groups."
    for GRP in adm lp mail news uucp games gopher mailnull floppy dip pppusers popusers slipusers daemon
    do
        grep $GRP /etc/group &> /dev/null
        if [ $? -eq 0 ]
        then
            groupdel $GRP &> /dev/null
        fi
    done
    format
    
    ###########################################################################
    # Disabled reboot by keys ctlaltdelete 禁用ctlaltdelete重启功能
    echo "Disabled reboot by keys ctlaltdelete"
    sed -i 's/^exec/#exec/' /etc/init/control-alt-delete.conf
    format
    
    ###########################################################################
    # Set ulimit  设置文件句柄数
    echo "Set ulimit 1000000"
    
    cat << EOF > /etc/security/limits.conf
    *    soft    nofile  1000000
    *    hard    nofile  1000000
    *    soft    nproc 102400
    *    hard    nproc 102400
    EOF
    sed -i 's/102400/1000000/' /etc/security/limits.d/90-nproc.conf
    format
    
    ###########################################################################
    # Set login message 设置登录时显示的信息
    echo "Set login message."
    echo "This is not a public Server" > /etc/issue
    echo "This is not a public Server" > /etc/redhat-release
    format
    
    ###########################################################################
    # Record SUID and SGID files 
    DATE2=`date +"%F"`
    echo "Record SUID and SGID files."
    echo "SUID --- " > /var/log/SuSg_"$DATE2".log
    find / -path '/proc'  -prune -o -perm -4000 >> /var/log/SuSg_"$DATE2".log
    echo "------------------------------------------------------ " >> /var/log/SuSg_"$DATE2".log
    echo "SGID --- " >> /var/log/SuSg_"$DATE2".log
    find / -path '/proc'  -prune -o -perm -2000 >> /var/log/SuSg_"$DATE2".log
    format
    
    ###########################################################################
    # Disabled crontab send mail 禁用执行任务计划时向root发送邮件
    echo "Disable crontab send mail."
    sed -i 's/^MAILTO=root/MAILTO=""/' /etc/crontab 
    sed -i 's/^mail.*/mail.err/' /etc/rsyslog.conf
    format
    
    ###########################################################################
    # Set ntp client 设置时间服务客户端
    echo "Set ntp client."
    SED() {
        cp -p /etc/ntp.conf /etc/ntp.conf.bak
        sed -i '/^server/d' /etc/ntp.conf
        sed -i '/^includefile/ iserver 0.centos.pool.ntp.org iburst' /etc/ntp.conf
        sed -i '/0.centos.pool.ntp.org/ aserver 1.centos.pool.ntp.org iburst' /etc/ntp.conf
        sed -i '/1.centos.pool.ntp.org/ aserver 2.centos.pool.ntp.org iburst' /etc/ntp.conf
        sed -i '/2.centos.pool.ntp.org/ aserver 3.centos.pool.ntp.org iburst' /etc/ntp.conf
        chkconfig --level 35 ntpd on &> /dev/null
    }
    rpm -q ntp &> /dev/null
    if [ $? -eq 0 ]
    then
        SED
    else
        yum -y install ntp &> /dev/null
        SED
    fi
    format
    
    ###########################################################################
    # Set sysctl.conf 设置内核参数
    echo "Set sysctl.conf"
    #web应用中listen函数的backlog默认会将内核参数的net.core.somaxconn限制到128,而nginx定义的NGX_LISTEN_BACKLOG默认是511,所以必须调整,一般调整为2048
    cat << EOF > /etc/sysctl.conf
    net.core.somaxconn = 2048 
    net.core.wmem_default = 262144
    net.core.rmem_max = 16777216
    net.core.wmem_max = 16777216
    net.ipv4.tcp_rmem = 4096 4096 16777216
    net.ipv4.tcp_wmem = 4096 4096 16777216
    net.ipv4.tcp_mem = 786432 2097152 3145728
    net.ipv4.tcp_max_syn_backlog = 16384
    net.core.netdev_max_backlog = 20000
    net.ipv4.tcp_fin_timeout = 15
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_max_orphans = 131072
    net.ipv4.ip_local_port_range = 1024 65535
    net.ipv4.ip_forward = 0
    net.ipv4.conf.default.rp_filter = 1
    net.ipv4.conf.default.accept_source_route = 0
    kernel.sysrq = 0
    kernel.core_uses_pid = 1
    net.ipv4.tcp_syncookies = 1
    net.bridge.bridge-nf-call-ip6tables = 0
    net.bridge.bridge-nf-call-iptables = 0
    net.bridge.bridge-nf-call-arptables = 0
    kernel.msgmnb = 65536
    kernel.msgmax = 65536
    kernel.shmmax = 4294967295
    kernel.shmall = 26843545
    EOF
    
    #modprobe bridge  > /dev/null
    /sbin/sysctl  -p  > /dev/null
    format
    

     二、还有一个nginx语法高亮的脚本

    #!/bin/bash
    
    [ -d ~/.vim/syntax ] || mkdir -p ~/.vim/syntax
    
    
    cat << EOF > ~/.vim/syntax/nginx.vim
    " Vim syntax file
    " Language: nginx.conf
    
    if exists("b:current_syntax")
      finish
    end
    
    setlocal iskeyword+=.
    setlocal iskeyword+=/
    setlocal iskeyword+=:
    
    syn match ngxVariable '$ww*'
    syn match ngxVariableBlock '$ww*' contained
    syn match ngxVariableString '$ww*' contained
    syn region ngxBlock start=+^+ end=+{+ contains=ngxComment,ngxDirectiveBlock,ngxVariableBlock,ngxString oneline
    syn region ngxString start=+"+ end=+"+ skip=+\\|\"+ contains=ngxVariableString oneline
    syn region ngxString start=+'+ end=+'+ skip=+\\|\'+ contains=ngxVariableString oneline
    syn match ngxComment ' *#.*$'
    
    syn keyword ngxBoolean on
    syn keyword ngxBoolean off
    
    syn keyword ngxDirectiveBlock http         contained
    syn keyword ngxDirectiveBlock mail         contained
    syn keyword ngxDirectiveBlock events       contained
    syn keyword ngxDirectiveBlock server       contained
    syn keyword ngxDirectiveBlock types        contained
    syn keyword ngxDirectiveBlock location     contained
    syn keyword ngxDirectiveBlock upstream     contained
    syn keyword ngxDirectiveBlock charset_map  contained
    syn keyword ngxDirectiveBlock limit_except contained
    syn keyword ngxDirectiveBlock if           contained
    syn keyword ngxDirectiveBlock geo          contained
    syn keyword ngxDirectiveBlock map          contained
    
    syn keyword ngxDirectiveImportant include
    syn keyword ngxDirectiveImportant root
    syn keyword ngxDirectiveImportant server
    syn keyword ngxDirectiveImportant server_name
    syn keyword ngxDirectiveImportant listen
    syn keyword ngxDirectiveImportant internal
    syn keyword ngxDirectiveImportant proxy_pass
    syn keyword ngxDirectiveImportant memcached_pass
    syn keyword ngxDirectiveImportant fastcgi_pass
    syn keyword ngxDirectiveImportant try_files
    
    syn keyword ngxDirectiveControl break
    syn keyword ngxDirectiveControl return
    syn keyword ngxDirectiveControl rewrite
    syn keyword ngxDirectiveControl set
    
    syn keyword ngxDirectiveError error_page
    syn keyword ngxDirectiveError post_action
    
    syn keyword ngxDirectiveDeprecated connections
    syn keyword ngxDirectiveDeprecated imap
    syn keyword ngxDirectiveDeprecated open_file_cache_retest
    syn keyword ngxDirectiveDeprecated optimize_server_names
    syn keyword ngxDirectiveDeprecated satisfy_any
    
    syn keyword ngxDirective accept_mutex
    syn keyword ngxDirective accept_mutex_delay
    syn keyword ngxDirective access_log
    syn keyword ngxDirective add_after_body
    syn keyword ngxDirective add_before_body
    syn keyword ngxDirective add_header
    syn keyword ngxDirective addition_types
    syn keyword ngxDirective aio
    syn keyword ngxDirective alias
    syn keyword ngxDirective allow
    syn keyword ngxDirective ancient_browser
    syn keyword ngxDirective ancient_browser_value
    syn keyword ngxDirective auth_basic
    syn keyword ngxDirective auth_basic_user_file
    syn keyword ngxDirective auth_http
    syn keyword ngxDirective auth_http_header
    syn keyword ngxDirective auth_http_timeout
    syn keyword ngxDirective autoindex
    syn keyword ngxDirective autoindex_exact_size
    syn keyword ngxDirective autoindex_localtime
    syn keyword ngxDirective charset
    syn keyword ngxDirective charset_types
    syn keyword ngxDirective client_body_buffer_size
    syn keyword ngxDirective client_body_in_file_only
    syn keyword ngxDirective client_body_in_single_buffer
    syn keyword ngxDirective client_body_temp_path
    syn keyword ngxDirective client_body_timeout
    syn keyword ngxDirective client_header_buffer_size
    syn keyword ngxDirective client_header_timeout
    syn keyword ngxDirective client_max_body_size
    syn keyword ngxDirective connection_pool_size
    syn keyword ngxDirective create_full_put_path
    syn keyword ngxDirective daemon
    syn keyword ngxDirective dav_access
    syn keyword ngxDirective dav_methods
    syn keyword ngxDirective debug_connection
    syn keyword ngxDirective debug_points
    syn keyword ngxDirective default_type
    syn keyword ngxDirective degradation
    syn keyword ngxDirective degrade
    syn keyword ngxDirective deny
    syn keyword ngxDirective devpoll_changes
    syn keyword ngxDirective devpoll_events
    syn keyword ngxDirective directio
    syn keyword ngxDirective directio_alignment
    syn keyword ngxDirective empty_gif
    syn keyword ngxDirective env
    syn keyword ngxDirective epoll_events
    syn keyword ngxDirective error_log
    syn keyword ngxDirective eventport_events
    syn keyword ngxDirective expires
    syn keyword ngxDirective fastcgi_bind
    syn keyword ngxDirective fastcgi_buffer_size
    syn keyword ngxDirective fastcgi_buffers
    syn keyword ngxDirective fastcgi_busy_buffers_size
    syn keyword ngxDirective fastcgi_cache
    syn keyword ngxDirective fastcgi_cache_key
    syn keyword ngxDirective fastcgi_cache_methods
    syn keyword ngxDirective fastcgi_cache_min_uses
    syn keyword ngxDirective fastcgi_cache_path
    syn keyword ngxDirective fastcgi_cache_use_stale
    syn keyword ngxDirective fastcgi_cache_valid
    syn keyword ngxDirective fastcgi_catch_stderr
    syn keyword ngxDirective fastcgi_connect_timeout
    syn keyword ngxDirective fastcgi_hide_header
    syn keyword ngxDirective fastcgi_ignore_client_abort
    syn keyword ngxDirective fastcgi_ignore_headers
    syn keyword ngxDirective fastcgi_index
    syn keyword ngxDirective fastcgi_intercept_errors
    syn keyword ngxDirective fastcgi_max_temp_file_size
    syn keyword ngxDirective fastcgi_next_upstream
    syn keyword ngxDirective fastcgi_param
    syn keyword ngxDirective fastcgi_pass_header
    syn keyword ngxDirective fastcgi_pass_request_body
    syn keyword ngxDirective fastcgi_pass_request_headers
    syn keyword ngxDirective fastcgi_read_timeout
    syn keyword ngxDirective fastcgi_send_lowat
    syn keyword ngxDirective fastcgi_send_timeout
    syn keyword ngxDirective fastcgi_split_path_info
    syn keyword ngxDirective fastcgi_store
    syn keyword ngxDirective fastcgi_store_access
    syn keyword ngxDirective fastcgi_temp_file_write_size
    syn keyword ngxDirective fastcgi_temp_path
    syn keyword ngxDirective fastcgi_upstream_fail_timeout
    syn keyword ngxDirective fastcgi_upstream_max_fails
    syn keyword ngxDirective flv
    syn keyword ngxDirective geoip_city
    syn keyword ngxDirective geoip_country
    syn keyword ngxDirective google_perftools_profiles
    syn keyword ngxDirective gzip
    syn keyword ngxDirective gzip_buffers
    syn keyword ngxDirective gzip_comp_level
    syn keyword ngxDirective gzip_disable
    syn keyword ngxDirective gzip_hash
    syn keyword ngxDirective gzip_http_version
    syn keyword ngxDirective gzip_min_length
    syn keyword ngxDirective gzip_no_buffer
    syn keyword ngxDirective gzip_proxied
    syn keyword ngxDirective gzip_static
    syn keyword ngxDirective gzip_types
    syn keyword ngxDirective gzip_vary
    syn keyword ngxDirective gzip_window
    syn keyword ngxDirective if_modified_since
    syn keyword ngxDirective ignore_invalid_headers
    syn keyword ngxDirective image_filter
    syn keyword ngxDirective image_filter_buffer
    syn keyword ngxDirective image_filter_jpeg_quality
    syn keyword ngxDirective image_filter_transparency
    syn keyword ngxDirective imap_auth
    syn keyword ngxDirective imap_capabilities
    syn keyword ngxDirective imap_client_buffer
    syn keyword ngxDirective index
    syn keyword ngxDirective ip_hash
    syn keyword ngxDirective keepalive_requests
    syn keyword ngxDirective keepalive_timeout
    syn keyword ngxDirective kqueue_changes
    syn keyword ngxDirective kqueue_events
    syn keyword ngxDirective large_client_header_buffers
    syn keyword ngxDirective limit_conn
    syn keyword ngxDirective limit_conn_log_level
    syn keyword ngxDirective limit_rate
    syn keyword ngxDirective limit_rate_after
    syn keyword ngxDirective limit_req
    syn keyword ngxDirective limit_req_log_level
    syn keyword ngxDirective limit_req_zone
    syn keyword ngxDirective limit_zone
    syn keyword ngxDirective lingering_time
    syn keyword ngxDirective lingering_timeout
    syn keyword ngxDirective lock_file
    syn keyword ngxDirective log_format
    syn keyword ngxDirective log_not_found
    syn keyword ngxDirective log_subrequest
    syn keyword ngxDirective map_hash_bucket_size
    syn keyword ngxDirective map_hash_max_size
    syn keyword ngxDirective master_process
    syn keyword ngxDirective memcached_bind
    syn keyword ngxDirective memcached_buffer_size
    syn keyword ngxDirective memcached_connect_timeout
    syn keyword ngxDirective memcached_next_upstream
    syn keyword ngxDirective memcached_read_timeout
    syn keyword ngxDirective memcached_send_timeout
    syn keyword ngxDirective memcached_upstream_fail_timeout
    syn keyword ngxDirective memcached_upstream_max_fails
    syn keyword ngxDirective merge_slashes
    syn keyword ngxDirective min_delete_depth
    syn keyword ngxDirective modern_browser
    syn keyword ngxDirective modern_browser_value
    syn keyword ngxDirective msie_padding
    syn keyword ngxDirective msie_refresh
    syn keyword ngxDirective multi_accept
    syn keyword ngxDirective open_file_cache
    syn keyword ngxDirective open_file_cache_errors
    syn keyword ngxDirective open_file_cache_events
    syn keyword ngxDirective open_file_cache_min_uses
    syn keyword ngxDirective open_file_cache_valid
    syn keyword ngxDirective open_log_file_cache
    syn keyword ngxDirective output_buffers
    syn keyword ngxDirective override_charset
    syn keyword ngxDirective perl
    syn keyword ngxDirective perl_modules
    syn keyword ngxDirective perl_require
    syn keyword ngxDirective perl_set
    syn keyword ngxDirective pid
    syn keyword ngxDirective pop3_auth
    syn keyword ngxDirective pop3_capabilities
    syn keyword ngxDirective port_in_redirect
    syn keyword ngxDirective postpone_gzipping
    syn keyword ngxDirective postpone_output
    syn keyword ngxDirective protocol
    syn keyword ngxDirective proxy
    syn keyword ngxDirective proxy_bind
    syn keyword ngxDirective proxy_buffer
    syn keyword ngxDirective proxy_buffer_size
    syn keyword ngxDirective proxy_buffering
    syn keyword ngxDirective proxy_buffers
    syn keyword ngxDirective proxy_busy_buffers_size
    syn keyword ngxDirective proxy_cache
    syn keyword ngxDirective proxy_cache_key
    syn keyword ngxDirective proxy_cache_methods
    syn keyword ngxDirective proxy_cache_min_uses
    syn keyword ngxDirective proxy_cache_path
    syn keyword ngxDirective proxy_cache_use_stale
    syn keyword ngxDirective proxy_cache_valid
    syn keyword ngxDirective proxy_connect_timeout
    syn keyword ngxDirective proxy_headers_hash_bucket_size
    syn keyword ngxDirective proxy_headers_hash_max_size
    syn keyword ngxDirective proxy_hide_header
    syn keyword ngxDirective proxy_ignore_client_abort
    syn keyword ngxDirective proxy_ignore_headers
    syn keyword ngxDirective proxy_intercept_errors
    syn keyword ngxDirective proxy_max_temp_file_size
    syn keyword ngxDirective proxy_method
    syn keyword ngxDirective proxy_next_upstream
    syn keyword ngxDirective proxy_pass_error_message
    syn keyword ngxDirective proxy_pass_header
    syn keyword ngxDirective proxy_pass_request_body
    syn keyword ngxDirective proxy_pass_request_headers
    syn keyword ngxDirective proxy_read_timeout
    syn keyword ngxDirective proxy_redirect
    syn keyword ngxDirective proxy_send_lowat
    syn keyword ngxDirective proxy_send_timeout
    syn keyword ngxDirective proxy_set_body
    syn keyword ngxDirective proxy_set_header
    syn keyword ngxDirective proxy_ssl_session_reuse
    syn keyword ngxDirective proxy_store
    syn keyword ngxDirective proxy_store_access
    syn keyword ngxDirective proxy_temp_file_write_size
    syn keyword ngxDirective proxy_temp_path
    syn keyword ngxDirective proxy_timeout
    syn keyword ngxDirective proxy_upstream_fail_timeout
    syn keyword ngxDirective proxy_upstream_max_fails
    syn keyword ngxDirective random_index
    syn keyword ngxDirective read_ahead
    syn keyword ngxDirective real_ip_header
    syn keyword ngxDirective recursive_error_pages
    syn keyword ngxDirective request_pool_size
    syn keyword ngxDirective reset_timedout_connection
    syn keyword ngxDirective resolver
    syn keyword ngxDirective resolver_timeout
    syn keyword ngxDirective rewrite_log
    syn keyword ngxDirective rtsig_overflow_events
    syn keyword ngxDirective rtsig_overflow_test
    syn keyword ngxDirective rtsig_overflow_threshold
    syn keyword ngxDirective rtsig_signo
    syn keyword ngxDirective satisfy
    syn keyword ngxDirective secure_link_secret
    syn keyword ngxDirective send_lowat
    syn keyword ngxDirective send_timeout
    syn keyword ngxDirective sendfile
    syn keyword ngxDirective sendfile_max_chunk
    syn keyword ngxDirective server_name_in_redirect
    syn keyword ngxDirective server_names_hash_bucket_size
    syn keyword ngxDirective server_names_hash_max_size
    syn keyword ngxDirective server_tokens
    syn keyword ngxDirective set_real_ip_from
    syn keyword ngxDirective smtp_auth
    syn keyword ngxDirective smtp_capabilities
    syn keyword ngxDirective smtp_client_buffer
    syn keyword ngxDirective smtp_greeting_delay
    syn keyword ngxDirective so_keepalive
    syn keyword ngxDirective source_charset
    syn keyword ngxDirective ssi
    syn keyword ngxDirective ssi_ignore_recycled_buffers
    syn keyword ngxDirective ssi_min_file_chunk
    syn keyword ngxDirective ssi_silent_errors
    syn keyword ngxDirective ssi_types
    syn keyword ngxDirective ssi_value_length
    syn keyword ngxDirective ssl
    syn keyword ngxDirective ssl_certificate
    syn keyword ngxDirective ssl_certificate_key
    syn keyword ngxDirective ssl_ciphers
    syn keyword ngxDirective ssl_client_certificate
    syn keyword ngxDirective ssl_crl
    syn keyword ngxDirective ssl_dhparam
    syn keyword ngxDirective ssl_engine
    syn keyword ngxDirective ssl_prefer_server_ciphers
    syn keyword ngxDirective ssl_protocols
    syn keyword ngxDirective ssl_session_cache
    syn keyword ngxDirective ssl_session_timeout
    syn keyword ngxDirective ssl_verify_client
    syn keyword ngxDirective ssl_verify_depth
    syn keyword ngxDirective starttls
    syn keyword ngxDirective stub_status
    syn keyword ngxDirective sub_filter
    syn keyword ngxDirective sub_filter_once
    syn keyword ngxDirective sub_filter_types
    syn keyword ngxDirective tcp_nodelay
    syn keyword ngxDirective tcp_nopush
    syn keyword ngxDirective thread_stack_size
    syn keyword ngxDirective timeout
    syn keyword ngxDirective timer_resolution
    syn keyword ngxDirective types_hash_bucket_size
    syn keyword ngxDirective types_hash_max_size
    syn keyword ngxDirective underscores_in_headers
    syn keyword ngxDirective uninitialized_variable_warn
    syn keyword ngxDirective use
    syn keyword ngxDirective user
    syn keyword ngxDirective userid
    syn keyword ngxDirective userid_domain
    syn keyword ngxDirective userid_expires
    syn keyword ngxDirective userid_mark
    syn keyword ngxDirective userid_name
    syn keyword ngxDirective userid_p3p
    syn keyword ngxDirective userid_path
    syn keyword ngxDirective userid_service
    syn keyword ngxDirective valid_referers
    syn keyword ngxDirective variables_hash_bucket_size
    syn keyword ngxDirective variables_hash_max_size
    syn keyword ngxDirective worker_connections
    syn keyword ngxDirective worker_cpu_affinity
    syn keyword ngxDirective worker_priority
    syn keyword ngxDirective worker_processes
    syn keyword ngxDirective worker_rlimit_core
    syn keyword ngxDirective worker_rlimit_nofile
    syn keyword ngxDirective worker_rlimit_sigpending
    syn keyword ngxDirective worker_threads
    syn keyword ngxDirective working_directory
    syn keyword ngxDirective xclient
    syn keyword ngxDirective xml_entities
    syn keyword ngxDirective xslt_stylesheet
    syn keyword ngxDirective xslt_types
    
    " 3rd party module list:
    " http://wiki.nginx.org/Nginx3rdPartyModules
    
    " Accept Language Module <http://wiki.nginx.org/NginxAcceptLanguageModule>
    " Parses the Accept-Language header and gives the most suitable locale from a list of supported locales.
    syn keyword ngxDirectiveThirdParty set_from_accept_language
    
    " Access Key Module <http://wiki.nginx.org/NginxHttpAccessKeyModule>
    " Denies access unless the request URL contains an access key. 
    syn keyword ngxDirectiveThirdParty accesskey
    syn keyword ngxDirectiveThirdParty accesskey_arg
    syn keyword ngxDirectiveThirdParty accesskey_hashmethod
    syn keyword ngxDirectiveThirdParty accesskey_signature
    
    " Auth PAM Module <http://web.iti.upv.es/~sto/nginx/>
    " HTTP Basic Authentication using PAM.
    syn keyword ngxDirectiveThirdParty auth_pam
    syn keyword ngxDirectiveThirdParty auth_pam_service_name
    
    " Cache Purge Module <http://labs.frickle.com/nginx_ngx_cache_purge/>
    " Module adding ability to purge content from FastCGI and proxy caches.
    syn keyword ngxDirectiveThirdParty fastcgi_cache_purge
    syn keyword ngxDirectiveThirdParty proxy_cache_purge
    
    " Chunkin Module <http://wiki.nginx.org/NginxHttpChunkinModule>
    " HTTP 1.1 chunked-encoding request body support for Nginx.
    syn keyword ngxDirectiveThirdParty chunkin
    syn keyword ngxDirectiveThirdParty chunkin_keepalive
    syn keyword ngxDirectiveThirdParty chunkin_max_chunks_per_buf
    syn keyword ngxDirectiveThirdParty chunkin_resume
    
    " Circle GIF Module <http://wiki.nginx.org/NginxHttpCircleGifModule>
    " Generates simple circle images with the colors and size specified in the URL.
    syn keyword ngxDirectiveThirdParty circle_gif
    syn keyword ngxDirectiveThirdParty circle_gif_max_radius
    syn keyword ngxDirectiveThirdParty circle_gif_min_radius
    syn keyword ngxDirectiveThirdParty circle_gif_step_radius
    
    " Drizzle Module <http://github.com/chaoslawful/drizzle-nginx-module>
    " Make nginx talk directly to mysql, drizzle, and sqlite3 by libdrizzle.
    syn keyword ngxDirectiveThirdParty drizzle_connect_timeout
    syn keyword ngxDirectiveThirdParty drizzle_dbname
    syn keyword ngxDirectiveThirdParty drizzle_keepalive
    syn keyword ngxDirectiveThirdParty drizzle_module_header
    syn keyword ngxDirectiveThirdParty drizzle_pass
    syn keyword ngxDirectiveThirdParty drizzle_query
    syn keyword ngxDirectiveThirdParty drizzle_recv_cols_timeout
    syn keyword ngxDirectiveThirdParty drizzle_recv_rows_timeout
    syn keyword ngxDirectiveThirdParty drizzle_send_query_timeout
    syn keyword ngxDirectiveThirdParty drizzle_server
    
    " Echo Module <http://wiki.nginx.org/NginxHttpEchoModule>
    " Brings 'echo', 'sleep', 'time', 'exec' and more shell-style goodies to Nginx config file.
    syn keyword ngxDirectiveThirdParty echo
    syn keyword ngxDirectiveThirdParty echo_after_body
    syn keyword ngxDirectiveThirdParty echo_before_body
    syn keyword ngxDirectiveThirdParty echo_blocking_sleep
    syn keyword ngxDirectiveThirdParty echo_duplicate
    syn keyword ngxDirectiveThirdParty echo_end
    syn keyword ngxDirectiveThirdParty echo_exec
    syn keyword ngxDirectiveThirdParty echo_flush
    syn keyword ngxDirectiveThirdParty echo_foreach_split
    syn keyword ngxDirectiveThirdParty echo_location
    syn keyword ngxDirectiveThirdParty echo_location_async
    syn keyword ngxDirectiveThirdParty echo_read_request_body
    syn keyword ngxDirectiveThirdParty echo_request_body
    syn keyword ngxDirectiveThirdParty echo_reset_timer
    syn keyword ngxDirectiveThirdParty echo_sleep
    syn keyword ngxDirectiveThirdParty echo_subrequest
    syn keyword ngxDirectiveThirdParty echo_subrequest_async
    
    " Events Module <http://docs.dutov.org/nginx_modules_events_en.html>
    " Privides options for start/stop events.
    syn keyword ngxDirectiveThirdParty on_start
    syn keyword ngxDirectiveThirdParty on_stop
    
    " EY Balancer Module <http://github.com/ry/nginx-ey-balancer>
    " Adds a request queue to Nginx that allows the limiting of concurrent requests passed to the upstream.
    syn keyword ngxDirectiveThirdParty max_connections
    syn keyword ngxDirectiveThirdParty max_connections_max_queue_length
    syn keyword ngxDirectiveThirdParty max_connections_queue_timeout
    
    " Fancy Indexes Module <https://connectical.com/projects/ngx-fancyindex/wiki>
    " Like the built-in autoindex module, but fancier.
    syn keyword ngxDirectiveThirdParty fancyindex
    syn keyword ngxDirectiveThirdParty fancyindex_exact_size
    syn keyword ngxDirectiveThirdParty fancyindex_footer
    syn keyword ngxDirectiveThirdParty fancyindex_header
    syn keyword ngxDirectiveThirdParty fancyindex_localtime
    syn keyword ngxDirectiveThirdParty fancyindex_readme
    syn keyword ngxDirectiveThirdParty fancyindex_readme_mode
    
    " GeoIP Module (DEPRECATED) <http://wiki.nginx.org/NginxHttp3rdPartyGeoIPModule>
    " Country code lookups via the MaxMind GeoIP API.
    syn keyword ngxDirectiveThirdParty geoip_country_file
    
    " Headers More Module <http://wiki.nginx.org/NginxHttpHeadersMoreModule>
    " Set and clear input and output headers...more than "add"!
    syn keyword ngxDirectiveThirdParty more_clear_headers
    syn keyword ngxDirectiveThirdParty more_clear_input_headers
    syn keyword ngxDirectiveThirdParty more_set_headers
    syn keyword ngxDirectiveThirdParty more_set_input_headers
    
    " HTTP Push Module <http://pushmodule.slact.net/>
    " Turn Nginx into an adept long-polling HTTP Push (Comet) server.
    syn keyword ngxDirectiveThirdParty push_buffer_size
    syn keyword ngxDirectiveThirdParty push_listener
    syn keyword ngxDirectiveThirdParty push_message_timeout
    syn keyword ngxDirectiveThirdParty push_queue_messages
    syn keyword ngxDirectiveThirdParty push_sender
    
    " HTTP Redis Module <http://people.FreeBSD.ORG/~osa/ngx_http_redis-0.3.1.tar.gz>>
    " Redis <http://code.google.com/p/redis/> support.>
    syn keyword ngxDirectiveThirdParty redis_bind
    syn keyword ngxDirectiveThirdParty redis_buffer_size
    syn keyword ngxDirectiveThirdParty redis_connect_timeout
    syn keyword ngxDirectiveThirdParty redis_next_upstream
    syn keyword ngxDirectiveThirdParty redis_pass
    syn keyword ngxDirectiveThirdParty redis_read_timeout
    syn keyword ngxDirectiveThirdParty redis_send_timeout
    
    " HTTP JavaScript Module <http://wiki.github.com/kung-fu-tzu/ngx_http_js_module>
    " Embedding SpiderMonkey. Nearly full port on Perl module.
    syn keyword ngxDirectiveThirdParty js
    syn keyword ngxDirectiveThirdParty js_filter
    syn keyword ngxDirectiveThirdParty js_filter_types
    syn keyword ngxDirectiveThirdParty js_load
    syn keyword ngxDirectiveThirdParty js_maxmem
    syn keyword ngxDirectiveThirdParty js_require
    syn keyword ngxDirectiveThirdParty js_set
    syn keyword ngxDirectiveThirdParty js_utf8
    
    " Log Request Speed <http://wiki.nginx.org/NginxHttpLogRequestSpeed>
    " Log the time it took to process each request.
    syn keyword ngxDirectiveThirdParty log_request_speed_filter
    syn keyword ngxDirectiveThirdParty log_request_speed_filter_timeout
    
    " Memc Module <http://wiki.nginx.org/NginxHttpMemcModule>
    " An extended version of the standard memcached module that supports set, add, delete, and many more memcached commands.
    syn keyword ngxDirectiveThirdParty memc_buffer_size
    syn keyword ngxDirectiveThirdParty memc_cmds_allowed
    syn keyword ngxDirectiveThirdParty memc_connect_timeout
    syn keyword ngxDirectiveThirdParty memc_flags_to_last_modified
    syn keyword ngxDirectiveThirdParty memc_next_upstream
    syn keyword ngxDirectiveThirdParty memc_pass
    syn keyword ngxDirectiveThirdParty memc_read_timeout
    syn keyword ngxDirectiveThirdParty memc_send_timeout
    syn keyword ngxDirectiveThirdParty memc_upstream_fail_timeout
    syn keyword ngxDirectiveThirdParty memc_upstream_max_fails
    
    " Mogilefs Module <http://www.grid.net.ru/nginx/mogilefs.en.html>
    " Implements a MogileFS client, provides a replace to the Perlbal reverse proxy of the original MogileFS.
    syn keyword ngxDirectiveThirdParty mogilefs_connect_timeout
    syn keyword ngxDirectiveThirdParty mogilefs_domain
    syn keyword ngxDirectiveThirdParty mogilefs_methods
    syn keyword ngxDirectiveThirdParty mogilefs_noverify
    syn keyword ngxDirectiveThirdParty mogilefs_pass
    syn keyword ngxDirectiveThirdParty mogilefs_read_timeout
    syn keyword ngxDirectiveThirdParty mogilefs_send_timeout
    syn keyword ngxDirectiveThirdParty mogilefs_tracker
    
    " MP4 Streaming Lite Module <http://wiki.nginx.org/NginxMP4StreamingLite>
    " Will seek to a certain time within H.264/MP4 files when provided with a 'start' parameter in the URL. 
    syn keyword ngxDirectiveThirdParty mp4
    
    " Nginx Notice Module <http://xph.us/software/nginx-notice/>
    " Serve static file to POST requests.
    syn keyword ngxDirectiveThirdParty notice
    syn keyword ngxDirectiveThirdParty notice_type
    
    " Phusion Passenger <http://www.modrails.com/documentation.html>
    " Easy and robust deployment of Ruby on Rails application on Apache and Nginx webservers.
    syn keyword ngxDirectiveThirdParty passenger_base_uri
    syn keyword ngxDirectiveThirdParty passenger_default_user
    syn keyword ngxDirectiveThirdParty passenger_enabled
    syn keyword ngxDirectiveThirdParty passenger_log_level
    syn keyword ngxDirectiveThirdParty passenger_max_instances_per_app
    syn keyword ngxDirectiveThirdParty passenger_max_pool_size
    syn keyword ngxDirectiveThirdParty passenger_pool_idle_time
    syn keyword ngxDirectiveThirdParty passenger_root
    syn keyword ngxDirectiveThirdParty passenger_ruby
    syn keyword ngxDirectiveThirdParty passenger_use_global_queue
    syn keyword ngxDirectiveThirdParty passenger_user_switching
    syn keyword ngxDirectiveThirdParty rack_env
    syn keyword ngxDirectiveThirdParty rails_app_spawner_idle_time
    syn keyword ngxDirectiveThirdParty rails_env
    syn keyword ngxDirectiveThirdParty rails_framework_spawner_idle_time
    syn keyword ngxDirectiveThirdParty rails_spawn_method
    
    " RDS JSON Module <http://github.com/agentzh/rds-json-nginx-module>
    " Help ngx_drizzle and other DBD modules emit JSON data.
    syn keyword ngxDirectiveThirdParty rds_json
    syn keyword ngxDirectiveThirdParty rds_json_content_type
    syn keyword ngxDirectiveThirdParty rds_json_format
    syn keyword ngxDirectiveThirdParty rds_json_ret
    
    " RRD Graph Module <http://wiki.nginx.org/NginxNgx_rrd_graph>
    " This module provides an HTTP interface to RRDtool's graphing facilities.
    syn keyword ngxDirectiveThirdParty rrd_graph
    syn keyword ngxDirectiveThirdParty rrd_graph_root
    
    " Secure Download <http://wiki.nginx.org/NginxHttpSecureDownload>
    " Create expiring links.
    syn keyword ngxDirectiveThirdParty secure_download
    syn keyword ngxDirectiveThirdParty secure_download_fail_location
    syn keyword ngxDirectiveThirdParty secure_download_path_mode
    syn keyword ngxDirectiveThirdParty secure_download_secret
    
    " SlowFS Cache Module <http://labs.frickle.com/nginx_ngx_slowfs_cache/>
    " Module adding ability to cache static files.
    syn keyword ngxDirectiveThirdParty slowfs_big_file_size
    syn keyword ngxDirectiveThirdParty slowfs_cache
    syn keyword ngxDirectiveThirdParty slowfs_cache_key
    syn keyword ngxDirectiveThirdParty slowfs_cache_min_uses
    syn keyword ngxDirectiveThirdParty slowfs_cache_path
    syn keyword ngxDirectiveThirdParty slowfs_cache_purge
    syn keyword ngxDirectiveThirdParty slowfs_cache_valid
    syn keyword ngxDirectiveThirdParty slowfs_temp_path
    
    " Strip Module <http://wiki.nginx.org/NginxHttpStripModule>
    " Whitespace remover.
    syn keyword ngxDirectiveThirdParty strip
    
    " Substitutions Module <http://wiki.nginx.org/NginxHttpSubsModule>
    " A filter module which can do both regular expression and fixed string substitutions on response bodies.
    syn keyword ngxDirectiveThirdParty subs_filter
    syn keyword ngxDirectiveThirdParty subs_filter_types
    
    " Supervisord Module <http://labs.frickle.com/nginx_ngx_supervisord/>
    " Module providing nginx with API to communicate with supervisord and manage (start/stop) backends on-demand.
    syn keyword ngxDirectiveThirdParty supervisord
    syn keyword ngxDirectiveThirdParty supervisord_inherit_backend_status
    syn keyword ngxDirectiveThirdParty supervisord_name
    syn keyword ngxDirectiveThirdParty supervisord_start
    syn keyword ngxDirectiveThirdParty supervisord_stop
    
    " Upload Module <http://www.grid.net.ru/nginx/upload.en.html>
    " Parses multipart/form-data allowing arbitrary handling of uploaded files.
    syn keyword ngxDirectiveThirdParty upload_aggregate_form_field
    syn keyword ngxDirectiveThirdParty upload_buffer_size
    syn keyword ngxDirectiveThirdParty upload_cleanup
    syn keyword ngxDirectiveThirdParty upload_limit_rate
    syn keyword ngxDirectiveThirdParty upload_max_file_size
    syn keyword ngxDirectiveThirdParty upload_max_output_body_len
    syn keyword ngxDirectiveThirdParty upload_max_part_header_len
    syn keyword ngxDirectiveThirdParty upload_pass
    syn keyword ngxDirectiveThirdParty upload_pass_args
    syn keyword ngxDirectiveThirdParty upload_pass_form_field
    syn keyword ngxDirectiveThirdParty upload_set_form_field
    syn keyword ngxDirectiveThirdParty upload_store
    syn keyword ngxDirectiveThirdParty upload_store_access
    
    " Upload Progress Module <http://wiki.nginx.org/NginxHttpUploadProgressModule>
    " Tracks and reports upload progress.
    syn keyword ngxDirectiveThirdParty report_uploads
    syn keyword ngxDirectiveThirdParty track_uploads
    syn keyword ngxDirectiveThirdParty upload_progress
    syn keyword ngxDirectiveThirdParty upload_progress_content_type
    syn keyword ngxDirectiveThirdParty upload_progress_header
    syn keyword ngxDirectiveThirdParty upload_progress_json_output
    syn keyword ngxDirectiveThirdParty upload_progress_template
    
    " Upstream Fair Balancer <http://wiki.nginx.org/NginxHttpUpstreamFairModule>
    " Sends an incoming request to the least-busy backend server, rather than distributing requests round-robin.
    syn keyword ngxDirectiveThirdParty fair
    syn keyword ngxDirectiveThirdParty upstream_fair_shm_size
    
    " Upstream Consistent Hash <http://wiki.nginx.org/NginxHttpUpstreamConsistentHash>
    " Select backend based on Consistent hash ring.
    syn keyword ngxDirectiveThirdParty consistent_hash
    
    " Upstream Hash Module <http://wiki.nginx.org/NginxHttpUpstreamRequestHashModule>
    " Provides simple upstream load distribution by hashing a configurable variable.
    syn keyword ngxDirectiveThirdParty hash
    syn keyword ngxDirectiveThirdParty hash_again
    
    " XSS Module <http://github.com/agentzh/xss-nginx-module>
    " Native support for cross-site scripting (XSS) in an nginx.
    syn keyword ngxDirectiveThirdParty xss_callback_arg
    syn keyword ngxDirectiveThirdParty xss_get
    syn keyword ngxDirectiveThirdParty xss_input_types
    syn keyword ngxDirectiveThirdParty xss_output_type
    
    " highlight
    
    hi link ngxComment Comment
    hi link ngxVariable Identifier
    hi link ngxVariableBlock Identifier
    hi link ngxVariableString PreProc
    hi link ngxBlock Normal
    hi link ngxString String
    
    hi link ngxBoolean Boolean
    hi link ngxDirectiveBlock Statement
    hi link ngxDirectiveImportant Type
    hi link ngxDirectiveControl Keyword
    hi link ngxDirectiveError Constant
    hi link ngxDirectiveDeprecated Error
    hi link ngxDirective Identifier
    hi link ngxDirectiveThirdParty Special
    
    let b:current_syntax = "nginx"
    EOF
    
    echo "au BufRead,BufNewFile /etc/nginx/vhosts/*.conf  set ft=nginx" > ~/.vim/filetype.vim
  • 相关阅读:
    SharePoint母板页更改
    SharePoint的一些基本操作
    百度地图
    内存管理
    根据文字的个数,label自动适应高度
    navgationBar
    接收服务器上的图片,可以用webview或者 imageview
    iOS 自带的解析json的类。
    改变uilable uibutton等的字体颜色、大小。
    Nsstring和NSdata的编码转换
  • 原文地址:https://www.cnblogs.com/chenpingzhao/p/4912015.html
Copyright © 2011-2022 走看看