【运维知识进阶篇】用阿里云部署kod可道云网盘项目(HTTPS证书+负载均衡+两台web)

本文主要是介绍【运维知识进阶篇】用阿里云部署kod可道云网盘项目(HTTPS证书+负载均衡+两台web),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇文章给大家介绍下如何用部署kod可道云网盘项目,首先用阿里云搭建一个小型架构,包括七层负载,两台web,https证书,然后在web上构建kod网盘。

部署流程

1、Web01购买创建

首先购买一台ECS,自定义购买,我们选择按量付费,选华北6乌兰察布,便宜些,随机可用区,1cpu1g的。

7fc86e1576c24b84939922cb748d436b.png

镜像选择CentOS,版本选7.9,系统盘类型选高效云盘,20G ,便宜,企业中肯定是按需求选,选好后下一步即可,注意账户中不得少于100元。

ec0d68e391cc4e0ea0fc92550a65e29d.png

公网IP选择不分配公网,因为我们有负载均衡,负载均衡能通过公网访问即可,下面开通的协议端口可以都勾选上,继续下一步。

52dc468efb9442398251e81194e8c237.png 密码这边我们选择自定义密码,实例名称和主机名称一致,填写web01,继续下一步。

a48d669fa16f4682b980fd605b8af7b3.png

 可以加标签,选择安全组啥的,不弄也行,直接下一步,确认订单。

a1b253b61a194220bede0537f175d30f.png勾选服务条款,点击创建实例2de9a7b0a0814de5825fb9cee1f0819e.png

提示创建成功,点击管理控制台,就可以看到创建的实例了。

2、给web01添加磁盘

点击ECS云盘的管理控制台,创建云盘,挂载到ECS实例,选择与web01同地区的乌兰察布,选择,我们的web01实例,云盘付费选择按量付费,同样是高效云盘即可,40G,确认订单。 

e9491a4f894f4a09adc9614557b9a1b6.png下滑选择随实例释放,勾选服务协议,名称修改一下,点击确认订单,确认创建,稍等一会会提示云盘创建完毕。 

a4446b6014974aac8e2acd3db68bddf4.png创建完毕会显示在管理控制台云盘列表。

687241aa5fcc49389f1a3a63a6f14ac0.png 我们可以通过阿里云去管理我们的服务器,点击实例控制台,右边的远程连接

965d863e4cfb4148b1a9b89933b284ad.png

使用默认方式立即登录即可。 

f057b79af28647c69e20ab748a9b072a.png

输入密码登录进去后,我们可以df -h,去查看下挂载信息,没有查到,不要慌,其实已经在我们的web01中了,我们手动挂载下。

[root@web01 ~]# yum -y install ntfsprogs
[root@web01 ~]# mkfs.ext4 /dev/vdb
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
2621440 inodes, 10485760 blocks
524288 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   
[root@web01 ~]# mount /dev/vdb /mnt
[root@web01 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        461M     0  461M   0% /dev
tmpfs           471M     0  471M   0% /dev/shm
tmpfs           471M  488K  471M   1% /run
tmpfs           471M     0  471M   0% /sys/fs/cgroup
/dev/vda1        20G  2.3G   17G  13% /
tmpfs            95M     0   95M   0% /run/user/0
/dev/vdb         40G   49M   38G   1% /mnt

3、扩容数据盘至100G

在云盘管理控制台这里,选择扩容。 

39d5cc3aa64647c48a0164303f6f8d50.png​​​​ 已知晓并备份,继续扩容,我们输入100G,选择在线扩容。

 

b7c87ae84e474cb7ace1134a9c4589e4.png

下一步 

fe00e3cbd049486f8ff475f0297baae4.png  看下建议,控制台显示了扩容,但是实际并没有扩容

7036d37bf7f144b7b8256bdc9fee04cb.png 我们远程连接服务器,再手动操作下,取消挂载,创建文件系统,再重新挂载下。

[root@web01 ~]# umount /mnt
[root@web01 ~]# mkfs.ext4 /dev/vdb
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214400 blocks
1310720 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2174746624
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done   [root@web01 ~]# mount /dev/vdb/ /mnt
[root@web01 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        461M     0  461M   0% /dev
tmpfs           471M     0  471M   0% /dev/shm
tmpfs           471M  560K  471M   1% /run
tmpfs           471M     0  471M   0% /sys/fs/cgroup
/dev/vda1        20G  2.4G   17G  13% /
tmpfs            95M     0   95M   0% /run/user/0
/dev/vdb         99G   61M   94G   1% /mnt
[root@web01 ~]# 

 4、在web01安装nginx

[root@web01 ~]# yum -y install nginx#删除nginx中的这部分内容,我们自己在conf.d中创建server {listen       80;listen       [::]:80;server_name  _;root         /usr/share/nginx/html;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}[root@web01 nginx]# cat /etc/nginx/conf.d/kod.conf 
server {listen 80;server_name kod.koten.vip;location / {root /code/kod;index index.php index.html index.htm;}location ~\.php$ {root /code/kod;fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;    #需要加这个,不然白屏}        
}    
[root@web01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web01 ~]# systemctl start nginx
[root@web01 ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

php,因为涉及上传压缩包,所以我们需要用xshell连接,我们先配置弹性公网IP到web01,一会儿再解绑到负载均衡上。

5、在web01上绑定弹性IP

72a308fc091c45909d974fc2a581ef4c.pnga5ad4c5068c6426d9a79efc7e81bbaf1.png

f19f0558089b4a778aa1739f9fb25727.png

d223644831d149f8868b9f0e0c48f336.png

0a0dedd57d464695aab57f76cfe5923f.png

1240a4a34bf1416693a68003dc9ddea5.png

 6、web01安装php

[root@web01 ~]# yum -y install lrzsz
[root@web01 ~]# rz -E[root@web01 ~]# tar xf php71.tar.gz 
[root@web01 ~]# yum -y localinstall *.rpm
[root@web01 ~]# systemctl start php-fpm.service
[root@web01 ~]# systemctl enable php-fpm.service
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.[root@web01 ~]# cat /etc/php-fpm.d/www.conf    #统一用户
user = nginx
group = nginx

 7、部署kod项目

可道云官网,找到立即下载按钮,右键复制链接地址 

6c87bb7569a94ae5ae1edee9f13e7540.png

[root@web01 ~]# wget https://static.kodcloud.com/update/download/kodbox.1.38.zip
[root@web01 ~]# yum -y install unzip
[root@web01 ~]# mkdir -p /code/kod
[root@web01 ~]# unzip kodbox.1.38.zip -d /code/kod
[root@web01 ~]# chown -R nginx.nginx /code/kod/

8、域名解析公网IP

域名需要提前备案,进入云解析DNS,进行如下图操作,记录值填写刚刚创建的弹性IP 

651cfa243ae840eabc32e8a4bd36c7f7.png

9、安装访问kod网盘

下一步 

73af650ffa97453bb448b767f1c04e7a.png

由于我们没有安装数据库,所以我们选择php自带的数据库即可

a2242aea7c4f4ef3887fc74e8072fb43.png

输入账号密码,确定,完成安装。 

a9661d1b08274446885352952889e106.png

正常登录

f6aaf6382c4941baac5666146125a101.png测试上传,没有问题,项目正常运行 

5a7b4d25eb2049229c661c9da14cacbd.png

10、测试快照恢复业务

9598b99629994de6907b6b423c0d4dd1.png

d55813fb7396461e98215aaaafa09db4.png 4d2c3640c52c4a36926c3feca24f057f.png

180300e2f6d742d889f0d58d1d169a5b.png

服务器删除代码目录

[root@web01 nginx]# rm -rf /code

 浏览器访问网址,发现无法访问。43cfbd83f7e34ff08c9fdad4400c34e4.png

停止实例 

 c664777c1ed54e23b10db50ad2f64396.png

77403d2cac234f72b32dd9829cffd331.png

恢复快照 

1d28c66095c64638b85c329851c6729d.png

d82203fc766344d580eda64107202b7c.png

由于我们设置了nginx和php的开机自启动,所以快照恢复启动后,会自动恢复业务。 

快照恢复成功后,浏览器再次访问正常显示。

7d9f82d7ef8e42629cb040156095ad6d.png

11、基于快照做镜像

快照控制台,创建自定义镜像

ed0d1f4458cf4c4fbb7afc0755a31f59.png
92fb4643fc1547ea9b9509ed55391221.png

确认 

f32c8f02ddc94115a5901e749e8fa6e2.png

创建完成后可以在镜像列表里查看,点击创建实例

f3a129dfe895499493adde1427397eda.png

12、基于镜像创建web02服务器

选择与web01一致的可用区

bdd22287a9884feaa433468cd9bcc59a.png

1d80348f268f4661b16aae34ba7a044d.png

不需要分配公网IP

f40942186e4d44b88ceeaac03d3cecba.png

9f640e1c2d2e4abf98f2e66ed7b028d0.png

 8fd01b37da594ea891ea7f954004c2c0.png

确认订单,签署并下单49627b61c9a94a459de870c6b2001887.png

13、解绑web01的弹性公网IP

示例控制台,解绑弹性IP

b51c31affc9d446e872447df94e830a3.png14、购买传统型SLB负载,绑定弹性公网IP

传统负载均衡,注意地区与web地区保持一致 

0feedd4c23e2467c949dae80745cad3e.png

如图配置,选择私网,因为我们有弹性IP,可以绑定到负载均衡上。

3a37c88492b744a8a6a3d8cf0f3fc963.png

066609b77e4c4d528c5703ba0bd36c10.png

 立即购买1182b98d485a4d14898a4672bd19ee95.png

立即开通,签署并下单。 

f48070fb38dc40c3a96b9d1e2c394ff1.png

绑定我们的弹性IP 

ecd1aad16a714e7b9e60d6f7bf8b00a5.png

d8500b0455cc4543bdb4537d3627204b.png

15、配置负载证书,并转发到后端WEB

申请证书

d027a30a847b45c9b90a28353979ab95.png

填写好相应信息后提交审核fe61f53052b343e1aa709c6a14e1411f.png5e1202c130174976b7b82e67c3152155.png

实例控制台,监听配置向导 

d61dd14fcd764463a20537646d6b79fd.png

添加443端口 7990fb7c027e4124a18a69d917a9ea55.png

 添加创建证书,刚刚申请的,注意不要选错,我这边选成别的域名的了,不再修改图片了

2af341dc74da4efd92d8b303a0cb8159.png

添加服务器,添加端口 

bf8370df920049e3b0ee9e1160b2fafb.png

下一步,下一步,提交即可

配置80端口,监听443,下一步,提交即可

5ee41d03d3a242778e19b599fe9375fe.png

分别添加5555转发到web01,6666转发到web02 

f971890eb8814124ab14e37eb11096fb.png

16ac1d07ff6b44618d833309c6441d8c.png

11f91ae290ac4ddfacc8f6a20b151f25.png

 下一步,下一步,提交,配置6666端口转发到web02的22端口

9bf7b0cde2e645109bb2c4217350adc3.png

db87dc1fe6d742f9ae137ea0323e5d7e.png3df9b2f33a9145439ca8d9bd7dc1bf0e.png

下一步,下一步,提交 

17、浏览器访问异常,修改web服务器配置文件

浏览器访问,一直转圈,是因为我们web服务器上的php,不会识别https协议,需要修改我们的web上的配置文件

d7d1989dbeaf48808229dc4df73d010b.png

 

 

[c:\~]$ ssh 8.130.97.32 5555Connecting to 8.130.97.32:5555...
Connection established.
To escape to local shell, press Ctrl+Alt+].Last login: Sun Apr 23 20:18:34 2023 from 123.112.17.24Welcome to Alibaba Cloud Elastic Compute Service ![root@web01 ~]# cat /etc/nginx/conf.d/kod.conf
server {listen 80;server_name kod.koten.vip;location / {root /code/kod;index index.php index.html index.htm;}location ~\.php$ {root /code/kod;fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;fastcgi_param HTTPS on;}
}
[root@web01 ~]# systemctl restart nginx[c:\~]$ ssh 8.130.97.32 6666Connecting to 8.130.97.32:6666...
Connection established.
To escape to local shell, press Ctrl+Alt+].Last login: Sun Apr 23 18:23:09 2023 from 123.112.17.24Welcome to Alibaba Cloud Elastic Compute Service ![root@web02 ~]# cat /etc/nginx/conf.d/kod.conf
server {listen 80;server_name kod.koten.vip;location / {root /code/kod;index index.php index.html index.htm;}location ~\.php$ {root /code/kod;fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;fastcgi_param HTTPS on;}
}
[root@web02 ~]# systemctl restart nginx

浏览器访问,恢复正常,大功告成!a1cbb9c6644342898475610cd5a117c8.png


我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注! 

 

这篇关于【运维知识进阶篇】用阿里云部署kod可道云网盘项目(HTTPS证书+负载均衡+两台web)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_37510195/article/details/130324416
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/314593

相关文章

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于