• 欢迎访问VPS岛网站,国外VPS,国内VPS,国外服务器,国内服务器,服务器主机,测评及优惠码,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站 QQ群

apache,squid,shell脚本

Apache技术 绿墨水 20次浏览 已收录 0个评论

网页重写
把所有80端口的请求重定向由https来处理
[root@web conf.d]# vim music.conf
<Virtualhost *:80>
        ServerName music.westos.com
        RewriteEngine on
        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</Virtualhost>
<Directory “/var/www/virtual/music/html”>
        Require all granted
</Directory>
<Virtualhost *:443>
        ServerName music.westos.com
        DocumentRoot /var/www/virtual/music/html
        Customlog logs/news-443.log     combined
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt
        SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</Virtualhost>
测试成功,浏览器输入http://music.westos.com 自动跳转https://music.westos.com
wKiom1hSlU6BkKg8AAF-QjqX6fg479.png-wh_50

apache支持的语言测试,可安装http-manual参考测试方法,可下载中文版手册
php语言测试
[root@web conf.d]# yum install php -y
[root@web conf.d]# cd /var/www/html/
[root@web html]# ls
file1.html  index.html
[root@web html]# rm -fr file1.html
[root@web html]# vim index.php
 <?php
phpinfo ();
?>
[root@web html]# systemctl restart httpd.service
输入www.westos.com进行测试
wKiom1hSlXPwRmovAAG4uwHWuoM664.png-wh_50

cgi脚本测试
[root@web html]# mkdir cgi
[root@web html]# ls
cgi  index.php
[root@web html]# cd cgi/ ##编辑如下
[root@web cgi]# vim index.cgi
#!/usr/bin/perl
print “Content-type: text/html\n\n”;
print `date`;
[root@web cgi]# perl index.cgi             ###测试脚本是否成功
[root@web cgi]# chmod +x index.cgi
[root@web conf.d]# vim default.conf  #编辑如下
<Virtualhost _default_:80>
        DocumentRoot /var/www/html
        Customlog logs/default.log      combined
</Virtualhost>
<Directory “/var/www/html/cgi”>
        Options +ExecCGI
        AddHandler cgi-script .cgi
</Directory>
浏览器输入172.25.254.16/cgi/inde 测试
显示时间,刷新网页时间随之刷新
wKiom1hSlZTDC4adAADtP9h2nrs712.png-wh_50

##搭建论坛
[root@web conf.d]# systemctl start mariadb         ###启动数据库服务,并查看状态
[root@web conf.d]# systemctl status mariadb.service
[root@web conf.d]# netstat -antlpe | grep mysql   ###查看数据库开放端口,27端口已关闭无需设定,若端口打开状态 。vim /etc/my.cnf 添加skip-networking=1
(也可用软件XAMPP(Apache+MySQL+PHP+PERL)代替以上环境,进行论坛的下一步搭建
在网络上下载discuz
(Crossday Discuz! Board 简称 Discuz!是一套通用的社区论坛软件系统,用户可以在不需要任何编程的基础上,通过简单的设置和安装,在互联网上搭建起具备完善功能、很强负载能力和可高度定制的论坛服务
[root@web discuz3.2]# cp -p upload discuz-3.2 -r
[root@web discuz3.2]# ls
discuz-3.2  Discuz_X3.2_SC_GBK.zip  readme  upload  utility
[root@web discuz3.2]# mv discuz-3.2 /var/www/html/
浏览器输入http://172.25.254.16/discuz-3.2/install/进行安装
结果如下,出现乱码
wKioL1hSlajRm1oaAAGH5HNgfWE227.png-wh_50

可能是下载版本不对。此版本为简体中文GBK,改换简体中文UTF8重复以上步骤尝试
问题解决
wKiom1hSlcKRU7LsAAMI6ua4H-s550.png-wh_50

提示不可写,给discuz目录及其子文件下放权限
wKioL1hSldry8lOQAAIDgKHksTE120.png-wh_50

[root@web html]# chmod 777 discuz-3.2
[root@web html]# chmod 777 discuz-3.2 -R
安装成功,结果如下
wKioL1hSlfbD_a3dAAIB8D3ZH_o292.png-wh_50

#############squid代理服务器
[root@foundation37 ~]# yum install squid -y
[root@foundation37 ~]# vim /etc/squid/squid.conf
 56 http_access allow all
 62 cache_dir ufs /var/spool/squid 100 16 256
[root@foundation37 ~]# cd /var/spool/
[root@foundation37 spool]# ls
abrt-upload  at    cups  mail      postfix  squid
anacron      cron  lpd   plymouth  rhsm     up2date
[root@foundation37 spool]# cd squid/
[root@foundation37 squid]# ls
[root@foundation37 squid]# systemctl start squid
[root@foundation37 squid]# ls              ###启动squid服务后自动生成目录
00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  swap.state
[root@foundation37 squid]# netstat -antlpe | grep squid
tcp6       0      0 :::3128                 :::*                    LISTEN      0          74443      8240/(squid-1)      
[root@web ~]# firefox &        ###打开浏览器,设置代理服务器ip
 (Edit–Preferences–Advanced–Network–Settings..Manual proxy configuration
  输入squid服务器ip,及开放端口3128 。如下

wKioL1hSlkTAQgfuAAIwHd50NrU178.png-wh_50

wKiom1hSlkWTak2tAAF60LeVJWc659.png-wh_50

用虚拟机连接网络成功
[root@web ~]# ping www.baidu.com
ping: unknown host www.baidu.com
 (ping不通,但是可以连接网络
###反向代理
[root@web ~]# yum remove httpd -y
[root@web ~]# rpm -ql httpd
package httpd is not installed
[root@web ~]# yum install squid -y
[root@parent ~]# cat /var/www/html/index.html
This page shows 172.25.254.116’s information
[root@parent ~]# systemctl restart httpd.service   ##创建父级服务器环境
[root@web ~]# vim /etc/squid/squid.conf   ##配置反向代理服务器ip
 56 http_access allow all
 57
 58 # Squid normally listens to port 3128
 59 http_port 80 vhost vport
 60 cache_peer 172.25.254.116  parent 80 0 no-query
 61 # Uncomment and adjust the following to add a disk cache directory.
 62 cache_dir ufs /var/spool/squid 100 16 256
[root@web Desktop]# systemctl restart squid.service
在foundation37主机(第客户端主机)中输入使用反向代理服务的主机ip,获得父级服务器共享内容

wKiom1hSlqDAjq2kAAECPEcUfNg490.png-wh_50

##轮询
[root@web Desktop]# vim /etc/squid/squid.conf   ##
 60 cache_peer 172.25.254.116  parent 80 0 no-query originserver round-robin name=web1
 在下行编辑,加入另一父级服务器ip及名称即可
每次刷新,跳转不同的ip,以减缓服务器压力
########shell脚本
[root@shell ~]# a=date
[root@shell ~]# echo a
a
[root@shell ~]# echo $a
date
[root@shell ~]# a=`date`
[root@shell ~]# echo $a
Wed Dec 14 22:47:41 EST 2016
[root@shell ~]# b=2
[root@shell ~]# echo $bc

[root@shell ~]# echo ${b}c
2c
[root@shell ~]# c=3
[root@shell ~]# echo ${bc}

[root@shell ~]# echo ${b,c}
2
[root@shell ~]# echo ${b}${c}
23
[root@shell ~]# bc=5
[root@shell ~]# echo ${bc}
5
[root@shell ~]# echo ””

[root@shell ~]# echo “””

[root@shell ~]# i=1
[root@shell ~]# echo $[i++]
1
[root@shell ~]# echo $[i++]
2
[root@shell ~]# echo $[i++]
3
[root@shell ~]# echo $[1+2]
3
[root@shell ~]# echo $[1%2]
1
[root@shell ~]# echo $[1*2]
2
[root@shell ~]# echo $[3/2]
1
[root@shell ~]# let a=3+3
[root@shell ~]# echo $a
6
[root@shell ~]# ((a=7+2))
[root@shell ~]# echo $a
9
[root@shell ~]# for X in 1 2 3;do echo x=$X;done
x=1
x=2
x=3
[root@shell ~]# for ((i=1;i<5;i++)); do echo $i; done
1
2
3
4
[root@shell ~]# for ((i=5;i>0;i–)); do echo $i; done
5
4
3
2
1
[root@shell ~]# for ((i=1;i<10;i++)); do ((k+=i)); echo $k; done
1
3
6
10
15
21
28
36
45
[root@shell ~]# [ “1” = “1” ]
[root@shell ~]# echo $?
0                                  ###0为肯定,1为否定
[root@shell ~]# [ “1” = “2” ]
[root@shell ~]# echo $?
1
[root@shell ~]# while [ “1” = “1” ]; do echo yes; break; done
yes
#ping脚本
[root@shell shell]# for a in {1..5}; do ping -c1 -w1 172.25.254.$a &> /dev/null && echo 172.25.254.$a is up || echo 172.25.254.$a is down; done
172.25.254.1 is down
172.25.254.2 is down
172.25.254.3 is down
172.25.254.4 is down
172.25.254.5 is down
[root@shell shell]# read -p “Please input the ip address which you want to check: ” IP; ping -c1 -w1 $IP &> /dev/null && echo $IP is up || echo $IP is down
Please input the ip address which you want to check: 172.25.254.16
172.25.254.16 is up
[root@shell shell]# test “$a” = “$b” && echo yes || echo no
yes
[root@shell shell]# test “1” = “2” && echo yes || echo no
no
[root@shell shell]# b=0
[root@shell shell]# [ -z “$b” ] && echo yes || echo no
no
[root@shell shell]# echo $c

[root@shell shell]# [ -z “$c” ] && echo yes || echo no
yes
[root@shell shell]# vim filestyle.sh
#!/bin/bash
if
[ -e “$1” ]
then
[ -f “$1” -a ! -L “$1” ] && echo $1 is a file
[ -b “$1” ] && echo $1 is a block
[ -c “$1” ] && echo $1 is a c block
else
[ -n “$1” ] && echo $1 is not exist || echo “Please input the filename to check: “
fi
[root@shell shell]# chmod +x filestyle.sh
[root@shell shell]# sh filestyle.sh /mnt/lkjl
/mnt/lkjl is not exist
[root@shell useradd]# vim userfile                ##根据文件自动创建用户
[root@shell useradd]# vim passfile
[root@shell useradd]# cat userfile
westos1
westos2
westos3
[root@shell useradd]# cat userfile
westos1
westos2
westos3
[root@shell useradd]# vim useradd.sh
[root@shell useradd]# chmod +x useradd.sh
[root@shell useradd]# sh useradd.sh
ERROR: Please input userfile and password file after command !!
#!/bin/bash
if
[ -n “$1” -a -n “$2” ]
then
        if
        [ -e “$1” -a -e “$2” ]
        then
        MAXUSER=`wc -l $1 | cut -d ‘ ‘-f 1`
        MAXPASS=`wc -l $2 | cut -d ‘ ‘-f 1`
                [ “$MAXUSER” -eq “$MAXPASS” ]&&(
                for NUM in $( seq 1 $MAXUSER )
                do
                USERNAME=`sed -n ${NUM}p $1`
                PASSWORD=`sed -n ${NUM}p $2`
                CKUSER=`getent passwd $USERNAME`
                [ -z “$CKUSER” ]&&(
                useradd $USERNAME
                echo $PASSWORD |passwd –stdin $USERNAME
                )||echo “$USERNAME exist !!”
                done
                )||(
                echo $1 and $2 have different lines
                )
        elif
        [ ! -e “$1” ]
        then
        echo “ERROR:$1 is not exsit”
        else
        echo “ERROR:$2 is not exsit”
        fi
else
echo “ERROR: Please input userfile and password file after command !!”
fi
[root@shell useradd]# vim case.sh                ##case语句
#!/bin/bash
[ “$1” = “$2” ]
case $? in
        0)
        echo $1=$2
        ;;
        1)
        echo $1!=$2
        ;;
        *)
        echo what?
esac
[root@shell useradd]# sh case.sh 1 1
1=1
[root@shell useradd]# sh case.sh 1 2
1!=2
[root@shell /]# yum install expect -y              ####expect自动应答
[root@shell shell]# vim ask.sh
#!/bin/bash
read -p “what’s your name: ” NAME
read -p “How old are you: ”  AGE
read -p “What is your class: ” CLASS
echo $NAME is $AGE\’s old,in $CLASS class.
[root@shell shell]# sh ask.sh
what’s your name: liu
How old are you: 20
What is your class: 19
liu is 20’s old,in 19 class.
[root@shell shell]# vim expect.exp
spawn /root/Desktop/shell/ask.sh
        expect “name:”
        send “liu\r”
        expect “old”
        send “17\r”
        expect “class”
        send “8\r”
expect eof

[root@shell shell]# /root/Desktop/shell/expect.exp
spawn /root/Desktop/shell/ask.sh
what’s your name: liu
How old are you: 17
What is your class: 8
[root@shell shell]# vim pingcheck.sh
#!/bin/bash
for NUM in {15..20}
do
ping -c1 -w1 172.25.254.$NUM &> /dev/null && (
        /mnt/ssh.exp 172.25.254.$NUM redhat hostname | grep -E “The|ECDSA|connecting|Warning|password|spawn” -v|sed “s/Permission\ denied\,\ please\ try\ again\./172.25.254.$NUM password is error/g”
)
done
[root@shell mnt]# vim ssh.exp
#!/usr/bin/expect
set timeout 3
set IP [lindex $argv 0]
set PASS [lindex $argv 1]
set COMM [lindex $argv 2]
spawn ssh root@$IP $COMM
expect {
        “yes/no”
        {send “yes/r”;exp_continue}
        “password:”
        {send “$PASS\r”}
        }
expect eof
[root@shell shell]# chmod 777 pingcheck.sh
[root@shell shell]# chmod 777 /mnt/ssh.exp
[root@shell mnt]# ping 172.25.254.16

#######时钟
#!/bin/bash
MIN=1
HOUR=1
for ((SEC=5;SEC>=0;SEC–))
do
  echo -ne “${HOUR}:${MIN}:${SEC}s 后结束”
  sleep 1
  echo -ne “\r  \r”

   while [ “$SEC” -le “0” -a “$MIN” -ge “0” ]
   do
          echo -ne “${HOUR}:${MIN}:${SEC}s 后结束”
          echo -ne “\r  \r”
          ((MIN–))
          SEC=60
    while [ “$MIN” -lt “0” -a “$HOUR” -gt “0” ]
    do

     echo -ne “${HOUR}:${MIN}:${SEC}s 后结束”
     echo -ne “\r  \r”
     ((HOUR–))
     MIN=59
    done
   done
 while [ “$SEC” = “0” -a “$MIN” = “0” -a “$HOUR” = “0” ]
 do
  echo  “时间已到!!………”
 break
 done
done

[root@shell shell]# sh clock1.sh
1:0:48s 后结束^C

2.测试主机是否开启,并建立用户

[root@shell mnt]# vim ssh.exp
#!/usr/bin/expect
set timeout 3
set IP [lindex $argv 0]
set PASS [lindex $argv 1]
set COMM [lindex $argv 2]
spawn ssh root@$IP $COMM
expect {
        “yes/no”
        {send “yes/r”;exp_continue}
        “password:”
        {send “$PASS\r”}
        }
expect eof
spawn /root/Desktop/shell/ask.sh
        expect “name:”
        send “liu\r”
        expect “old”
        send “17\r”
        expect “class”
        send “8\r”
expect eof

#!/bin/bash
for NUM in {15..20}
do
ping -c1 -w1 172.25.254.$NUM &> /dev/null && (
        /mnt/ssh.exp 172.25.254.$NUM redhat hostname | grep -E “The|ECDSA|connecting|Warning|password|spawn” -v|sed “s/Permission\ denied\,\ please\ try\ again\./172.25.254.$NUM password is error/g”
)
done
???


VPS岛 的文章和资源来自互联网,仅作为参考资料,如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。丨 转载请注明apache,squid,shell脚本
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址