一、Linux安装Nginx脚本
1、把编写好的安装Nginx脚本放置到nginx.sh文件中
#在/home/admin路径下新建一个.sh文件 touch nginx.sh #给该文件提升权限 chmod +x nginx.sh #进入到nginx.sh文件中 vi nginx.sh #保存退出,按ESC退出,输入:wq保存 :wq
2、在检查网络的时候,这里的IP地址,填写的需要安装Nginx服务器的IP地址
3、这里的端口号可按照自己的需要进行修改
4、编写nginx脚本内容
#!/bin/bash # nginx安装包链接 nginx_url="http://nginx.org/download/nginx-1.24.0.tar.gz" # 下载包存放路径 path="/usr/local" # 安装路径 int_path="/usr/local/nginx" # 首先检查网络 ping -c 1 81.70.2.8 > /dev/null 2>&1 if [ $? -eq 0 ];then echo "检测网络正常!" # 配置阿里源 read -p "配置阿里源输入1,任意键跳过配置:" number case "$number" in 1) echo "正在配置阿里源..." yum -y install vim yum -y install wget yum -y install tar yum install -y pcre-devel openssl-devel gcc curl echo "阿里源配置已完成!" ;; *) echo "已跳过配置阿里源!" esac # 安装依赖包 echo "正在安装依赖包..." yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel wget > /dev/null 2>&1 if [ $? -eq 0 ];then echo "依赖包安装已完成!" # 下载Nginx包 echo "正在下载安装包和解压安装操作..." # 创建文件夹,解压安装 mkdir $path && cd /usr/local wget $nginx_url -P $path > /dev/null 2>&1 #mkdir $int_path && cd $int_path nginx_pack=`echo $nginx_url | awk -F '/' '{print $NF}'` tar -zxvf $path/$nginx_pack -C ./ # 编译安装 nginx_path=`echo $nginx_pack |awk -F '.' '{print $1"."$2"."$3}'` cd $nginx_path && ./configure > /dev/null 2>&1 make > /dev/null 2>&1 make install > /dev/null 2>&1 # 设置防火墙规则 echo "设置防火墙规则" firewall-cmd --add-port=80/tcp --permanent firewall-cmd --reload echo "Nginx 安装已完成!" echo -e "#####################################\n启动Nginx: $int_path/sbin/nginx\n停止Nginx: $int_path/sbin/nginx -s stop\n重载Nginx: $int_path/sbin/nginx -s reload\n检查Nginx: $int_path/sbin/nginx -t\n#####################################" else echo "依赖包安装失败,请检查yum源或者网络问题!!!" exit 1 fi else echo "检测网络连接异常,请检查网络再操作!" exit 1 fi
5、进入到安装好的nginx路径下
#切换到安装好的nginx路径下 cd /usr/local/nginx/
6、运行nginx
#执行configure文件 ./configure #运行make命令 make #运行make install命令 make install #运行nginx ./nginx/sbin/nginx
7、开放端口号
#查询端口号是否开启 firwall-cmd --add-port=端口号/tcp #如果没开启的话,则开启端口号 firwall-cmd --zone=public --add-port=端口号/tcp --permanent #重启防火墙 firwall-cmd --reload
二、Nginx开机自启
1、切换到/etc/init.d路径下创建nginx脚本
#创建脚本 touch nginx
2、进入nginx脚本中进行编写
#!/bin/bash # chkconfig: 2345 32 62 #按照开机启动模板设定,32序列号 62系统等级 # description: Activates/Deactivates all network interfaces configured to \ [ -f /etc/init.d/functions ] && . /etc/init.d/functions #引用系统函数库 #nginx和Pidfile要修改成自己安装的路径 nginx=/xxx/xxx/sbin/nginx Pidfile=/xxx/xxx/logs/nginx.pid oldboy(){ RETVAL=$? if [ $RETVAL -eq 0 ];then action "Nginx is $1" /bin/true else action "Nginx is $1" /bin/false fi } ##no.1 定义启动模块 Start(){ if [ -f $Pidfile ];then echo "Nginx is running" else $nginx oldboy started fi return $RETVAL } ##no.2 定义关闭模块 Stop(){ if [ ! -f $Pidfile ];then echo "nginx in not running" else $nginx -s stop oldboy stoped fi } ##no.3 定义重新加载模块 Reload(){ if [ ! -f $Pidfile ];then echo "Cat't open $Pidfile ,no such file or directory" else $nginx -s reload oldboy reloaed fi } case "$1" in start) Start ;; stop) Stop ;; reload) Reload ;; restart) Stop sleep 2 Start ;; *) echo "Usage: sh $0 {start|stop|reload|restart} " exit 1 esac exit $RETVAL
3、:wq保存退出后,更改脚本权限
#更改脚本权限 chmod 777 nginx
4、将nginx服务加入chkconfig管理列表
#将nginx服务加入chkconfig管理列表 chkconfig --add nginx
5、设置nginx开机自启
#设置nginx开机自启 chkconfig nginx on #想关闭开机自启命令 chkconfig nginx off
6、运行nginx
#运行nginx service nginx start #结束服务 service nginx stop #重启服务 service nginx restart #重载配置文件 service nginx reload #查看状态 service nginx status
三、知识提升
1、chkconfig --add <service_name>中的chkonfig命令是什么意思?
chkconfig是一个用于管理Linux系统中服务的命令。它允许您配置在系统启动时自动启动或停止的服务。
具体来说,chkconfig命令用于添加、删除或更改服务的启动级别。启动级别是指在系统启动过程中服务的运行顺序和优先级。
使用chkconfig命令,您可以将服务添加到系统的服务列表中,并指定在特定运行级别下是否自动启动该服务。
2、如果不把nginx服务加入到chkconfig管理列表,重启服务器后,nginx开机自启会成功吗?
如果没有将Nginx服务添加到chkconfig管理列表中,重启服务器后,Nginx将不会自动启动。
chkconfig是用于管理Linux系统中的服务的工具,它可以配置服务在系统启动时是否自动启动。通过将Nginx服务添加到chkconfig管理列表中,就可以告诉系统在启动时自动启动Nginx。
如果没有将Nginx添加到chkconfig管理列表中,仍然可以手动启动Nginx服务,但它不会在系统启动时自动启动。每次重启服务器后,都需要手动运行启动命令来启动Nginx
3、/etc/init.d和chkconfig二者的区别
/etc/init.d和chkconfig是Linux系统中用于管理和控制系统服务的两个不同的概念和工具。
- /etc/init.d目录:/etc/init.d目录是存放系统服务启动脚本的地方。这些启动脚本通常以.d结尾,用于控制和管理系统服务的启动、停止和重启。当系统启动时,系统会检查/etc/init.d目录中的启动脚本,并根据需要运行这些脚本来启动相应的服务。同样,当系统关闭或重启时,系统也会运行这些脚本来停止相应的服务。每个服务的启动脚本通常包含启动、停止、重启和状态检查等功能。
- chkconfig命令:chkconfig是一个命令行工具,用于管理和配置系统服务的启动状态。它可以用于添加、删除、启用或禁用服务的自动启动。chkconfig命令可以将服务添加到系统的启动管理列表中,以便在系统启动时自动启动该服务。它还可以设置服务在各个运行级别中的启动状态(开启或关闭)。使用chkconfig命令,您可以查看系统中已添加到启动管理列表的服务,并查看它们在各个运行级别中的启动状态。
- 因此,/etc/init.d是存放系统服务启动脚本的目录,而chkconfig是用于管理和配置系统服务的启动状态的命令行工具。/etc/init.d中的启动脚本通常由chkconfig命令管理,并通过chkconfig命令将服务添加到系统的启动管理列表中。
4、/etc/init.d和chkconfig二者的关系
1./etc/init.d中的启动脚本通常由chkconfig命令管理,并通过chkconfig命令将服务添加到系统的启动管理列表中
2.chkconfig管理列表中有/etc/init.d路径下的可执行脚本