网盘_游戏_博客自动化部署(Nginx多项目部署)

目录

一.前提介绍

二.环境介绍

三.自述(脚本)

四.关于Nginx多项目部署


一.前提介绍

在我之前的博客里详细介绍了上述项目的部署,那么如何使用简单脚本自动部署和使用Nginx多项目部署是本文来介绍的基础篇章。

二.环境介绍

CentOS Linux release 7.9.2009 (Core)

nginx version: nginx/1.24.0

5.5.68-MariaDB

PHP 7.1.33 

三.自述(脚本)

在无影响版本条件限制下本脚本都会运行成功,各版本会略有不同,原理都是相通的。

首先准备一个虚拟机,要求开启网卡,并可以ping通外网,例如可以ping通百度等。

脚本运行中,会提示让你输入你的静态ip,这里不明白的可以看下文,这里你使用远程工具链接的虚拟机最好输入当前ip作为静态ip的选择,避免执行时,断开连接,所以先记下自己的ip在后续中输入。若不配固定IP可在配固定ip那整快注释掉。

Vm ware虚拟机设置静态IP的方法_vmware虚拟机如何设置静态ip-CSDN博客

代码如下:

#!/bin/bash
# **********************************************************
# * Filename      : install.sh
# * Author        : Elk
# * Email         : zzdict@gmail / elk_deer@foxmail.com
# * Create time   : 2024-04-18 10:30
# * Description   : 选择一个初始话的虚拟机,启动网卡有网即可。
# **********************************************************
start_time=$(date +%s)echo "1.开始配置YUM源并安装基础包"
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache  > /dev/null 2>&1
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
yum install -y ntpdate vim lresz net-tools wegt tree psmisc bash-completion unzip epel-release  > /dev/null 2>&1
ntpdate time.windows.comecho "2.开始你的配置静态IP"
sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/' /etc/sysconfig/network-scripts/ifcfg-ens33
read -p "***请输入你的想设置的静态IP: " ip
read -p "***请输入你的子网掩码    : " ym
read -p "***请输入你的网关        : " wg
read -p "***请输入你的DNS1     : " dns1
cat >>/etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF
IPADDR=$ip
PREFIX=$ym
GATEWAY=$wg
DNS1=$dns1
EOF
systemctl restart network
ifup ens33echo "3.在安装新版Nginx"
yum install yum-plugin-priorities -y > /dev/null 2>&1
cat >/etc/yum.repos.d/nginx.repo <<'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
priority=1
EOF
echo "3.1检查是否正确"
cat /etc/yum.repos.d/nginx.repo
yum install nginx -y > /dev/null 2>&1echo "4.使用我提供的php包安装php与相关插件"
rpm -e $(rpm -qa|grep php)
unzip -o php*.zip  > /dev/null 2>&1
yum localinstall *.rpm -y > /dev/null 
systemctl start php-fpm
systemctl enable php-fpm
echo "4.1开始检查当前PHP服务用户默认配置情况"
grep "apache" /etc/php-fpm.d/www.conf
sed -i 's#apache#nginx#g' /etc/php-fpm.d/www.conf
echo "4.2检查修改后情况如下:"
grep "nginx" /etc/php-fpm.d/www.confecho "5.安装数据库并进行配置"
yum install -y mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
mysql -u root -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1234');"
mysql -u root -p1234 -e "CREATE DATABASE IF NOT EXISTS wordpress;"echo "6.1开始部署小霸王游戏"unzip -o html.zip -d /usr/share/nginx/  > /dev/null 2>&1systemctl start nginx
systemctl enable nginxecho "6.2解决游戏站点不能访问问题"
cat >/etc/nginx/conf.d/01_game.etiantian.org.conf<<'EOF' 
server {server_name game.etiantian.org;listen 80;root /usr/share/nginx/html;index index.html;
}
EOFsystemctl restart nginxecho "7.1开始部署网盘"cat >/etc/nginx/conf.d/pan.etiantian.org.conf<<'EOF' server {server_name pan.etiantian.org;  ## 临时域名。正式搭建需要购买域名。listen 80;                      ## 网页服务端口。root /data/pan;                 ## 程序存放目录。index index.php index.html;     ## 首页,网页总入口。##符合php扩展名结尾抛给PHP服务处理location ~ \.php$ {             ## 以.php结尾的程序发给PHP服务(9000)处理。fastcgi_pass   127.0.0.1:9000;  ##发给PHP服务处理。fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}}
EOFcat /etc/nginx/conf.d/pan.etiantian.org.conf
echo "7.2检查语法,正确标志是syntax is ok"nginx -t
systemctl restart nginxecho "7.3创建网盘站点目录"mkdir /data/pan -p
unzip -o k*.zip -d /data/pan  > /dev/null 2>&1echo "7.4授权【nginx用户】访问网盘/data/pan目录"chown -R nginx /data/pan;chmod -R 777 /data/pan/echo "8.1开始部署博客"cat >/etc/nginx/conf.d/03_blog.etiantian.org.conf<<'EOF'server {server_name blog.etiantian.org;  ## 博客域名配置。listen 80;                       ## 网站的端口。root /data/blog;                 ## 程序目录。index index.php index.html;      ## 首页文件。location ~ \.php$ {                  ## 以.php结尾的所有文件都发给PHP服务(9000)处理。     fastcgi_pass   127.0.0.1:9000;   ##把PHP程序抛给PHP服务处理。fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}}
EOFcat /etc/nginx/conf.d/03_blog.etiantian.org.conf
echo "8.2检查nginx配置语法,并重启nginx"
nginx -t
echo "成功标志 结尾successful"
systemctl restart nginx
echo "8.3创建博客目录并解压"
mkdir -p /data/blog
unzip -o wordpress*.zip -d /data/blog > /dev/null 2>&1
echo "8.4授权nginx服务和PHP服务得对应nginx用户管理博客目录/data/blog"
mv /data/blog/wordpress/* /data/blog/
chown -R nginx /data/blog/;chmod -R 777 /data/blog/echo "9.1开始部署博客新增主题"
unzip -o zhutibao.zip > /dev/null 2>&1
cd wordpress主题
unzip -o kratos-main.zip -d /data/blog/wp-content/themes/ > /dev/null 2>&1
unzip -o lolimeow-master.zip -d /data/blog/wp-content/themes/ > /dev/null 2>&1
unzip -o L-Talk-master.zip -d /data/blog/wp-content/themes/ > /dev/null 2>&1
unzip -o origami-master.zip -d /data/blog/wp-content/themes/ > /dev/null 2>&1
unzip -o sakura-3.x.zip -d /data/blog/wp-content/themes/ > /dev/null 2>&1
unzip -o Sakurairo.zip -d /data/blog/wp-content/themes/ > /dev/null 2>&1
unzip -o Sakurairo-main.zip -d /data/blog/wp-content/themes/ > /dev/null 2>&1
cd end_time=$(date +%s)
execution_time=$((end_time - start_time))
clearcat <<EOF
执行耗时:$execution_time 秒,----, ,----,       ,----,                                      ,/   .\`| .'   .\`|     .'   .\`|    ,---,       ,---,  ,----..      ,\`   .'  : .'   .'   ;  .'   .'   ;  .'  .' \`\  ,\`--.' | /   /   \   ;    ;     / ,---, '    .',---, '    .',---.'     \ |   :  :|   :     :.'___,/    ,'  |   :     ./ |   :     ./ |   |  .\`\\  |:   |  '.   |  ;. /|    :     |   ;   | .'  /  ;   | .'  /  :   : |  '  ||   :  |.   ; /--\` ;    |.';  ;   \`---' /  ;   \`---' /  ;   |   ' '  ;  :'   '  ;;   | ;    \`----'  |  |   /  ;  /      /  ;  /    '   | ;  .  ||   |  ||   : |        '   :  ;   ;  /  /--,   ;  /  /--,  |   | :  |  ''   :  ;.   | '___     |   |  '   /  /  / .\`|  /  /  / .\`|  '   : | /  ; |   |  ''   ; : .'|    '   :  |   
./__;       :./__;       :  |   | '\` ,/  '   :  |'   | '/  :    ;   |.'    
|   :     .' |   :     .'   ;   :  .'    ;   |.' |   :    /     '---'      
;   |  .'    ;   |  .'      |   ,.'      '---'    \   \ .'                 
\`---'        \`---'          '---'                  \`---\`
EOFcat <<EOF
===========================================================================================
Successful!
数据库用户名:root
数据库密码:1234
请在你的Windows中用记事本管理员身份打开去编辑C:\Windows\System32\drivers\etc\hosts
这个路径文件新增如下内容,本机进行域名解析后再访问下述域名
$(hostname -I | awk '{print $1}') game.etiantian.org pan.etiantian.org blog.etiantian.orgEOF

注:在这里复制的去配置域名解析的要把 $(hostname -I | awk '{print $1}')替换成你的IP,这段在liunx中执行后就是显示的你的IP

脚本链接:https://pan.baidu.com/s/1U0MRxGmV_m3KrH-JiOJQEg?pwd=ewgb 
提取码:ewgb

四.关于Nginx多项目部署

我这个项目中是把游戏的html替换到nginx的html目录里,然后把博客和网盘的页面挂载到/data里,在data文件夹里分别放着博客的程序和网盘的程序。

在这之上,需要在/etc/nginx/conf.d目录(没有则新建)里挂载着三个项目的server如下图:

这是一个 Nginx 的服务器配置文件片段,它定义了一个服务器块(server block),用于处理来自于 blog.etiantian.org 域名的 HTTP 请求。

同理,在部署多项目时进行相同的原理,做一些引用路径的修改即可。 确保你的文件以 .conf 结尾,并且在修改后检查 Nginx 的配置文件以确保没有语法错误。完成后,重新加载 Nginx 配置使修改生效。

至此就结束啦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637400.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

书生·浦语2.0(InternLM2)大模型实战--Day04 XTuner微调 | 1.8B 多模态Agent(Part 2: 多模态部分)

视频地址&#xff1a; https://b23.tv/QUhT6ni课程文档&#xff1a;https://github.com/InternLM/Tutorial/blob/camp2/xtuner/readme.md作业文档&#xff1a;https://github.com/InternLM/Tutorial/blob/camp2/xtuner/homework.md 1. XTuner多模态训练与测试 在本节课中&…

[已解决]react打包部署

react打包部署 问题 npm install 命令无反应 思路 换成 yarn install 安装完hadoop的环境后&#xff0c;使用node的yarn会报错&#xff1a; 我们在cmd使用where yarn&#xff0c;如下&#xff1a; 看你想保留哪一个&#xff0c;我平时node用的多&#xff0c;就把hadoop的y…

Spring Boot中接收各种各样的参数

一、接收json参数&#xff0c;封装为Map 1.1、核心代码 /*** 接收json参数&#xff0c;封装为Map* param servletRequest* return* throws Exception*/ PostMapping("/getParam") public R getParam(HttpServletRequest servletRequest) throws Exception {Map<…

mysql基础19——日志

日志 mysql的日志种类非常多 通用查询日志 慢查询日志 错误日志 与时间有关联 二进制日志 中继日志 与主从服务器的同步有关 重做日志 回滚日志 与数据丢失有关 通用查询日志 记录了所有用户的连接开始时间和截至时间 以及给mysql服务器发送的所有指令 当数据异常时&…

个人开发 App 最简单方法:使用现代开发工具和平台

在移动应用市场的蓬勃发展下&#xff0c;个人开发者也有机会将自己的创意转化为实际的应用程序&#xff0c;并通过应用商店实现盈利。然而&#xff0c;对于许多初学者来说&#xff0c;如何开始个人开发一个应用可能会感到困惑。本文将介绍个人开发 App 的最简单方法&#xff0c…

C++修炼之路之list--C++中的双向循环链表

目录 前言 一&#xff1a;正式之前先回顾数据结构中的双向循环链表 二&#xff1a;list的简介 三&#xff1a;STL中list常用接口函数的介绍及使用 1.构造函数接口 2.list迭代器 范围for 3.数据的修改接口函数 4.list容量操作函数 5.list的迭代器失效 6.演示代码和测…

独立样本t检验——python完整代码(直接运行就行)

#!/usr/bin/env python # -*- coding: utf-8 -*- # Author : 三十二画生JH # Contact : fjhstudent163.com # Software: PyCharm # Time : 2024/4/21 21:49 # Site : 网址 # File : t_test.py # Version : # ---功能描述 """ 对实验数据做独立样本&am…

Linux系统维护:增加空闲内存的大小,以便进程有足够的基础内存(空闲内存)来运行

目录 一、问题 二、解决思路 &#xff08;一&#xff09;问题分析 &#xff08;二&#xff09;思路 1. 清理缓存 2. 结束不必要的进程 3. 优化应用程序和服务 4. 增加物理内存 5、注意事项 三、实际处理 &#xff08;一&#xff09;结束不必要的程序 &#xff08;二…

4.21java聊天室项目小结

基本完成了用户的登录注册功能&#xff0c;可以实现用户账号登录和邮箱登录功能&#xff0c;忘记密码通过邮箱发送验证码找回&#xff0c;注册账号功能&#xff0c;并传递给客户端更新数据库的表内容 注册功能&#xff1a; 注册成功后密码进行MD5加密并通过服务器保存到数据库…

【FFmpeg】视频与图片互相转换 ( 视频与 JPG 静态图片互相转换 | 视频与 GIF 动态图片互相转换 )

文章目录 一、视频与 JPG 静态图片互相转换1、视频转静态图片2、视频转多张静态图片3、多张静态图片转视频 二、视频与 GIF 动态图片互相转换1、视频转成 GIF 动态图片2、 GIF 动态图片转成视频 一、视频与 JPG 静态图片互相转换 1、视频转静态图片 执行 ffmpeg -i input.mp4 …

node和go的列表转树形, 执行速度测试对比

保证数据一致性&#xff0c;先生成4000条json数据到本地&#xff0c;然后分别读取文本执行处理 node代码 node是用midway框架 forNum1:number 0forNum2:number 0//执行测试async index(){// 生成菜单列表// const menuList await this.generateMenuList([], 4000);const men…

2024年腾讯云免费服务器最新申请入口链接

腾讯云免费服务器申请入口 txybk.com/go/free 免费服务器可选轻量应用服务器和云服务器CVM&#xff0c;轻量配置可选2核2G3M、2核8G7M和4核8G12M&#xff0c;CVM云服务器可选2核2G3M和2核4G3M配置&#xff0c;腾讯云百科txybk.com分享2024年最新腾讯云免费服务器申请入口、限制…