话不多少,内容如下:
#!/bin/bash#nginx版本ver=nginx-1.$2.$3# 安装目录in_dir="/app/$ver"#软件存放目录dl_dir="/server"#最终运行目录run_dir=/app/nginxif [ ! -d $in_dir ];then mkdir -p $in_dirfiif [ ! -d $dl_dir ];then mkdir $dl_dirfi##安装nginxfunction nginx_install (){yum -y install gcc gcc-c++ pcre-devel zlib-devel openssl-devel if [ $? -eq 0 ]then curl "http://nginx.org/download/$ver.tar.gz" -o $dl_dir/$ver.tar.gz && \ useradd -m -s /sbinlogin nginx && \ tar xf $dl_dir/$ver.tar.gz -c $dl_dir && \ cd $dl_dir/$ver ./configure --prefix=$in_dir --user=nginx --group=nginx && \ make && make install fi}function nginx_init (){ ln -s $in_dir $run_dir}function nginx_start (){ ps -ef |grep nginx |grep master if [ $? = 0 ];then echo "nginx is running." else if [ ! -e $run_dir/sbin/nginx ];then nginx_init fi $run_dir/sbin/nginx sleep 5 ps -ef |grep nginx |grep master if [ $? = 0 ];then echo "nginx start successfully." else echo "nginx failed to start." fi fi}function nginx_stop (){ $run_dir/sbin/nginx -s quit sleep 5 ps -ef |grep nginx |grep master if [ $? != 0 ];then echo "nginx stop successfully." else echo "nginx failed to stop." fi}function nginx_reload (){ $run_dir/sbin/nginx -s reload }main(){ nginx_install nginx_start}case $1 in install) nginx_install nginx_init nginx_start ;;start) nginx_start ;;stop) nginx_stop ;;restart) nginx_stop nginx_start ;;reload) nginx_reload ;;*) echo "使用方法" echo "$0 start|stop|restart|reload" echo "安装方法" echo "$0 install <版本号> <小版本号> 例如:$0 install 19 3 下载的就是1.19.3版本 " ;;esac#if [ $# = 0 ];then# echo "使用 $0 后面加上小版本号进行部署:例如 $0 19 3 下载的就是1.19.3版本"#else# echo "下载版本:1.$2.$3"# echo "安装目录:$in_dir"# echo "下载目录:$dl_dir"# echo "nginx installation..." # nginx_install# if [ $? != 0 ];then## echo "ngins installation failed."# else # nginx_init# nginx_start# fi #fi
这个脚本可以实现用户自己选择想要安装的nginx版本
比如我想装一个nginx-1.16.1版本,可以这样做:
sh install_nginx.sh install 16 1
当然,如果你开始并不知道使用方法,直接执行了脚本,没关系,有提示:
[root@localhost ~]# sh install_nginx.sh使用方法install_nginx.sh start|stop|restart|reload安装方法install_nginx.sh install <版本号> <小版本号> 例如:install_nginx.sh install 19 3 下载的就是1.19.3版本
瞧,不光告诉了你怎么使用它安装服务,还可以直接运行脚本进行管理当你刚安装完成的时候默认是启动的,你可以使用脚本进行关闭或重启:
[root@localhost ~]# sh install_nginx.sh stopnginx stop successfully.[root@localhost ~]# sh install_nginx.sh reload
然后你可以修改配置后进行开启:
[root@localhost ~]# sh install_nginx.sh startroot 4236 1 0 14:23 ? 00:00:00 nginx: master process /app/nginx/sbin/nginxnginx start successfully.
查看它的状态,看它是否在运行:
[root@localhost ~]# ss -utpln | grep nginxtcp listen 0 128 *:80 *:* users:(("nginx",pid=4238,fd=6),("nginx",pid=4236,fd=6))
我们用浏览器来访问一下吧!
以上就是怎么用shell脚本一键安装nginx服务的详细内容。