Nginx安装与虚拟主机配置shell脚本

简介: Nginx安装与虚拟主机配置shell脚本

今天继续给大家介绍Linux运维相关知识,本文主要内容是Nginx安装与虚拟主机配置shell脚本。

一、NGINX安装
在今天的脚本上,我们开始尝试使用函数和参数,以增强脚本的灵活性和实现脚本的模块化。
我们定义一个NGINX_INSTALL()的函数,主要用于安装NGINX,该函数需要下载NGINX的安装包,将该安装包解压,并进行预编译、编译和安装操作,相关脚本如下所示:

NGINX_INSTALL(){
wget -c http://nginx.org/download/nginx-1.12.0.tar.gz
echo "Nginx download OK!"
yum install -y gcc gcc-c++ openssl-devel pcre-devel pcre
echo "Nginx Rliance OK!"
tar xf nginx-1.12.0.tar.gz
mv nginx-1.12.0 /opt/nginx
useradd nginx
echo "Nginx User create OK!"
cd /opt/nginx
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
}
1
2
3
4
5
6
7
8
9
10
11
12
13
二、NGINX配置
接下来,我们还需要配置NGINX,以实现虚拟注意。定义一个NGINX_CONFIG()的函数,并且在该函数中传输两个参数,第一个参数是NGINX虚拟主机所监听的端口,第二个参数是NGINX虚拟主机的域名。相关脚本如下所示:

NGINX_CONFIG(){
cd /usr/local/nginx/
cp -a conf/nginx.conf conf/nginx.conf.bak
cat >conf/nginx.conf<> /data/www/$2/index.html
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
在上述脚本中,我们直接把NGINX的原有配置文件进行了备份,并且把新的配置文件直接写入到了脚本中。

三、函数调用与启动
最后,我们还要写一段脚本,调用上述两个函数,并且启动NGINX,相关脚本如下所示:

NGINX_INSTALL
NGINX_CONFIG $1 $2
/usr/local/nginx/sbin/nginx
1
2
3
四、脚本展示
我们把上述所有脚本整合到一起,形成完整的脚本,如下所示:

!/bin/bash

NGINX_INSTALL(){
wget -c http://nginx.org/download/nginx-1.12.0.tar.gz
echo "Nginx download OK!"
yum install -y gcc gcc-c++ openssl-devel pcre-devel pcre
echo "Nginx Rliance OK!"
tar xf nginx-1.12.0.tar.gz
mv nginx-1.12.0 /opt/nginx
useradd nginx
echo "Nginx User create OK!"
cd /opt/nginx
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install

}
NGINX_CONFIG(){
cd /usr/local/nginx/
cp -a conf/nginx.conf conf/nginx.conf.bak
cat >conf/nginx.conf<> /data/www/$2/index.html
}
NGINX_INSTALL
NGINX_CONFIG $1 $2
/usr/local/nginx/sbin/nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

五、效果检验
在完成上述脚本后,我们直接执行该脚本,执行命令:

bash nginx_install.sh 81 www.pzz.com
1
该脚本运行结果如下所示:

从上图可以看出,该脚本运行后,已经开始监听80和81端口。我们在本地hosts文件中,将www.pzz.com重定向到该虚拟机上,然后访问该域名的80和81端口,结果如下所示:

从上图可以看出,该脚本可以成功安装Nginx并且配置虚拟主机!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/125593045

目录
相关文章
|
11月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
749 1
|
11月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
532 18
|
11月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
910 17
|
11月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
905 9
|
11月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
971 2
|
12月前
|
数据建模 应用服务中间件 PHP
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
本示例演示如何通过Docker挂载同一宿主目录至Nginx与PHP容器,实现PHP项目运行环境配置。需注意PHP容器中监听地址修改为0.0.0.0:9000,并调整Nginx配置中fastcgi_pass指向正确的IP与端口。同时确保Nginx容器中/var/www/html权限正确,以避免访问问题。
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
|
11月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
1320 1
|
12月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
533 0
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。