阅读量:0
``
bash,#!/bin/bash,,# 更新系统软件包列表,sudo aptget update,,# 安装 Nginx,sudo aptget install y nginx,,# 启动 Nginx 服务并设置为开机自启,sudo systemctl start nginx,sudo systemctl enable nginx,,# 安装 Varnish,sudo aptget install y varnish,,# 启动 Varnish 服务并设置为开机自启,sudo systemctl start varnish,sudo systemctl enable varnish,
`,,将以上代码保存为一个
.sh 文件,
install_nginx_varnish.sh,然后在终端中运行
bash install_nginx_varnish.sh` 即可自动安装 Nginx 和 Varnish。在现代Web开发中,Nginx和Varnish是两个非常重要的软件,Nginx是一个高性能的HTTP和反向代理服务器,而Varnish则主要用于内容缓存,通过自动化脚本来安装这两个软件,可以大大提高部署效率,以下是一个详细的自动安装Nginx和Varnish的脚本示例:
自动安装Nginx和Varnish脚本
#!/bin/sh Nginx & Varnish Auto Install Script Author: wb Date: 20101119 nginx_ver=0.7.67 nginx_path=/opt/nginx varnish_ver=2.1.3 varnish_path=/opt/varnish ip=$(ip a | grep eth0 | grep inet | awk '{print $2}' | cut d "/" f1) echo e "\033[40;32m" cat << EOF ####################### 1、Nginx Install 2、Varnish Install ####################### EOF pcre_install(){ echo "Installing pcre and pcredevel..." yum install pcre pcredevel y } nginx_install(){ if [ f /root/nginx$nginx_ver.tar.gz ]; then echo "nginx$nginx_ver.tar.gz already exists, exiting!" exit 1 else pcre_install echo "Downloading nginx$nginx_ver..." wget http://www.nginx.org/download/nginx$nginx_ver.tar.gz echo "Creating user and group www, installing nginx$nginx_ver..." useradd www s /sbin/nologin d /dev/null tar zxvf nginx$nginx_ver.tar.gz cd nginx$nginx_ver test d $nginx_path || mkdir p $nginx_path ./configure prefix=$nginx_path user=www group=www withhttp_stub_status_module withouthttp_map_module withouthttp_geo_module withhttp_gzip_static_module withhttp_flv_module make && make install /opt/nginx/sbin/nginx echo "Nginx$nginx_ver installed. Please access http://$ip" fi } varnish_install(){ if [ f /root/varnish$varnish_ver.tar.gz ]; then echo "varnish$varnish_ver.tar.gz already exists, exiting!" exit 1 else pcre_install echo "Downloading varnish$varnish_ver..." wget http://sourceforge.net/projects/varnish/files/varnish/$varnish_ver/varnish$varnish_ver.tar.gz echo "Creating user and group www, installing varnish$varnish_ver..." useradd www s /sbin/nologin d /dev/null tar zxf varnish$varnish_ver.tar.gz cd varnish$varnish_ver test d $varnish_path || mkdir p $varnish_path test d /data/varnish_cache || mkdir p /data/varnish_cache ./configure prefix=$varnish_path make && make install ulimit SHn 51200 /opt/varnish/sbin/varnishd u www g www f /opt/varnish/etc/varnish/default.vcl a $ip:80 s file,/data/varnish_cache/varnish_cache.data,2G w 1024,51200,10 t 3600 T $ip:3500 echo "Varnish$varnish_ver installed. Please access http://$ip" fi } echo e "\033[40;33m" read p "Enter the installation number (1 for Nginx, 2 for Varnish): " n case $n in 1) echo e "\033[40;33m" read p "Do you want to install nginx$nginx_ver? [Y/y]: " s if [ "$s" == "Y" ] || [ "$s" == "y" ]; then nginx_install else echo "No [Y/y] option selected, exiting!" exit 1 fi ;; 2) echo e "\033[40;33m" read p "Do you want to install varnish$varnish_ver? [Y/y]: " s if [ "$s" == "Y" ] || [ "$s" == "y" ]; then varnish_install else echo "No [Y/y] option selected, exiting!" exit 1 fi ;; *) echo "Invalid installation number, exiting!" exit 1 ;; esac
FAQs
1、Q1: 这个脚本适用于哪些操作系统?
A1: 这个脚本主要针对CentOS系统设计,因为它使用了yum
包管理器,如果你使用的是其他Linux发行版,可能需要调整包管理命令,例如使用aptget
(对于Debian/Ubuntu)或者zypper
(对于openSUSE)。
2、Q2: 如何确认Nginx和Varnish是否成功安装?
A2: 你可以通过访问服务器的IP地址来确认Nginx和Varnish是否成功安装,如果看到相应的欢迎页面或缓存页面,则说明安装成功,你可以使用以下命令检查服务状态:
```sh
systemctl status nginx
systemctl status varnish
```