linux shell每天一阅 -- 安装nginx以及apache
当然这个博客原代码是转载大神的。。。
自动安装Nginx脚本,采用case方式,选择方式,也可以根据实际需求改成自己想要的脚本mynginx.sh
- #!/bin/sh
- ###nginx install shell
- ###wugk 2012-07-14
- ###PATH DEFINE
- SOFT_PATH=/data/soft/
- NGINX_FILE=nginx-1.2.0.tar.gz
- DOWN_PATH=http://nginx.org/download/
- if[ $UID -ne 0 ];then
- echo This script must use administrator or root user ,please exit!
- sleep 2
- exit 0
- fi
- if[ ! -d $SOFT_PATH ];then
- mkdir -p $SOFT_PATH
- fi
- download ()
- {
- cd $SOFT_PATH ;wget $DOWN_PATH/$NGINX_FILE
- }
- install ()
- {
- yum install pcre-devel -y
- cd $SOFT_PATH ;tar xzf $NGINX_FILE ;cd nginx-1.2.0/ &&./configure –prefix=/usr/local/nginx/ –with-http_stub_status_module –with-http_ssl_module
- [ $? -eq 0 ]&&make &&make install #[ ]条件判断用的可以
- }
- start ()
- {
- lsof -i :80[ $? -ne 0 ]&&/usr/local/nginx/sbin/nginx #lsof -i :80 //显示所有打开80端口的进程
- }
- stop ()
- {
- ps -ef |grep nginx |grep -v grep |awk ‘{print $2}’|xargs kill -9 #本文最nice的一个就是用了xargs这个命令,将上一个命令的输出作为下一个命令的参数
- }
- exit ()
- {
- echo $? ;exit
- }
- ###case menu #####
- case $1 in
- download )
- download
- ;;
- install )
- install
- ;;
- start )
- start
- ;;
- stop )
- stop
- ;;
- * )
- echo “USAGE:$0 {download or install or start or stop}”
- exit
- esac
脚本执行:
./mynginx.sh download
./mynginx.sh install
./mynginx.sh start
./mynginx.sh stop
下文为apache shell脚本: 1 #!/bin/sh 2
3 #by z.jason 2017-05-02 4 #using install apache 5 6 7 if [ $UID -ne 0 ]; then 8 echo " you must are root or administrator,please exit ! " 9 sleep 2 10 exit 0 11 fi 12 13 yum_download () 14 { 15 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo # update yum 16 } 17 18 install () 19 { 20 yum -y install httpd 21 } 22 23 start () 24 { 25 lsof -i :80 26 27 if [ $? -ne 0 ];then 28 29 service httpd start 30 31 else 32 33 echo "apache is running !" 34 35 fi 36 #当然可以一句写成 lsof -i :80;[ $? -ne 0 ]&&service httpd start||echo "apache is running ! "就是如果lsof没有输出就会返回1,也就是失败的意思。
37 } 38 39 stop () 40 { 41 42 ps -ef |grep httpd |grep -v grep |awk ‘{print $2}’|xargs kill -9 43 #service httpd stop 44 } 45 46 restart () 47 { 48 servcie httpd restart 49 } 50 51 case $1 in 52 yum_download ) 53 yum_download 54 ;; 55 56 install ) 57 install 58 ;; 59 60 start ) 61 start 62 ;; 63 64 stop ) 65 stop 66 ;; 67 68 restart ) 69 restart 70 ;; 71 72 * ) 73 echo "please input yum_download or install or start or stop or restart" 74 esac
脚本执行:
./myapache.sh yum_download
./myapache.sh install
./myapache.sh start
./myapache.sh stop
其实两个代码的区别还是有的,前者使用源码安装,而后者使用yum安装,个人比较喜欢用yum,因为yum简单而且不用去处理软件的依赖关系。
A man can fail, may be poor, but it must not be a pussy.