阿里云ecs服务器配置反向代理上传图片
本文所有软件地址:
链接:https://pan.baidu.com/s/12OSFilS-HNsHeXTOM47iaA
提取码:dqph
为什么要使用阿里云服务器?
项目想让别人通过外网进行访问就需要部署到我们的服务器当中
1.国内知名的服务器介绍
国内比较知名的一些服务器:阿里云,腾讯云,百度云,华为云
2.云服务器介绍(阿里云为例)
官网https://www.aliyun.com/daily-act/ecs/activity_selection?utm_content=se_1015327025
概念:云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低IT成本,提升运维效率,更加专注核心业务创新
什么是弹性伸缩?
弹性伸缩(Auto Scaling),是根据用户的业务需求和策略,经济的自动调整弹性计算计算机资源的管理服务,弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序
三.阿里云注册,登录,购买实例
1.进入阿里云官网进行注册登录
注册完之后登录进去找到ecs经济型(根据自己需求)
免费获取阿里云服务器试用(这边使用阿里云免费的为例)
这边有免费获取三个月的方式(企业版本,个人版划到下面就能找到)
选择服务
这边我选择的是个人版之后选择自己需要的服务(所在地区选比较近的)
修改密码
之后等待创建成功之后区修改密码
这边重置密码必须设置难的避免被别人入侵
SSH连接
设置密码之后在ip地址的共有地址连接SSH
使用外部工具连接SSH连接成功!
安装服务
需要安装服务:fastDFS、mariaDB-10.2.13、tomcat-8.0、jdk1.8、nginx-1.12.0
安装jdk
首先先检查自己是否安装了jdk服务
Java -version
没有安装服务的话进入到系统之后我们先在系统盘创建文件夹(usr/local)
cd /usr/local
mkdir java
之后利用ftp工具上传文件到刚刚创建的文件夹下面
2.解压jdk
上传进去之后解压jdk安装包(我这边是gz的安装包)
tar -xvf -C /usr/locl/java
解压完之后进入到解压完之后的文件夹下面查看路径方便待会设置环境变量复制下面的路径
cd /jdk-13.0.1
pwd
3.配置环境变量
编辑环境变量
vi /ect/profile
在末行添加下面代码,注意JAVAHOME是自己安装的路径编辑好之后wq保存退出
JAVA_HOME=/usr/local/java/jdk-13.0.1 CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export PATH CLASSPATH JAVA_HOME
编辑环境变量要重启才能生效
source /etc/profile
之后再去检查自己jdk是否安装成功
简单的jdk就安装完成了接下来安装tomcat
安装tomcat
创建tomcat文件夹(还是在/usr/local)创建
mkdir tomcat
上传压缩文件并解压之后进入到里面的目录
tar -xvf [压缩文件]
进入到bin目录下面启动tomcat服务
./startup.sh
本地试着去访问一下我们的8080端口是否可以访问
可以看到我们是访问不了8080端口的Linux默认不会开放端口
开放端口
回到阿里云控制面板找到安全组
编辑我们端口设置添加8080端口
保存完之后在回到我们浏览器试一下能不能访问到8080端口
可以看到是直接访问成功的tomcat已经安装完成
安装MariaDB数据库
MariaDB 和MySQL的区别:MariaDB是MySQL的一个分支,二者使用起来几乎没区别包括命令等,主要由于MySQL被Oracle收购,社区当心MySQL有闭源的风险,因此采用MySQL分支的方式使用,其次MariaDB的速度和性能涉及到查询或者复制等,比MySQL更快,MariaDB也很容易支持高并发的连接数
1.上传文件夹(将我们的maraDB文件夹上传到Linux中)之后进入到MariaDB目录下
安装mariaDB(如果报错可能是之前有这个环境需要卸载)
yum insatll rsync nmap lsof perl-DBI nc
2.安装相应的MariaDB软件包
1.安装jemalloc软件包(解压第一个)
rpm -ivh jemalloc-3.6.0-1.el6.x86_64.rpm
2.安装jemallocdev软件包(第二个)
rpm -ivh jemalloc-devel-3.6.0-1.el6.x86_64.rpm
接下来安装剩下的MariaDB-10.2.13-centos6-x86_64-client.rpm(注意要加上--force --nodeps不检查依赖强制安装)
rpm -ivh MariaDB-10.2.13-centos6-x86_64-client.rpm --force --nodeps
接下来安装boost依赖包(如果是报Nothing to do )的话就是本地默认有这个服务
yum install boost-level.x86_64
最后在解压一下galera-25.3.23-1.rhel6.el6.x86_64.rpm
rpm -ivh galera-25.3.23-1.rhel6.el6.x86_64.rpm --force --nodeps
导入key到本地
rpm --import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB
安装server
rpm -ivh MariaDB-server-10.2.13-1.el6.x86_64
启动服务
service mysql restart
设置mysql开机自启
systemctl enable mysqld;
测试镜像有没有启动(有进程说明启动成功)
ps -aux|grep mysql
mysql安全测试
mysql_secure_installation
第一次进去之后会让你输入root的密码,然后在设置新的密码
(注意:这个是在外网密码必须复杂)
成功之后的话第一个就是询问是否删除一些匿名用户直接y就行了
这个的话就是是否允许远程访问直接y
询问是否删除text测试数据库直接y
看到这个的话就是已经说明完成了
登录MySQL(密码在之前修改的)
mysql -uroot -p
可以看到我们已经成功安装MySQL了
使用外部工具远程连接
出现错误(权限问题没给用户授权
grant all privileges on *.* to 'root'@'%' identified by ' ';flush privileges; create user 'root'@'%' identified with mysql_native_password by 'root'; grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
搭建FastDFS与nginx文件服务器
1.安装依赖环境
yum -y install libevent
2.将我们的FastDFS安装包上传到Linux中在创建文件夹并解压·
mkdir FastDFS
先解压libfastcommon-1.0.7.tar.gz
tar -vxzf libfastcommon-1.0.7.tar.gz
进入解压的文件夹之后找到make.sh编译
./make.sh
如果不能make的话需要安装依赖
yum install gcc c++ yum install pcre pcre-devel
yum install zlib zlib-devel
接下来编译安装
./make.sh install
可以看到给我们装到usr/lib64下去了 进入到目录找到lib.so文件
ll libfast*
将这个文件移动到lib目录下
cp libfastcommon.so /usr/lib
cd /usr/lib
安装tracker服务
解压fastdfs-5.05.tar.gz(解压完进入到该目录)
tar -zvxf fastdfs-5.05.tar.gz
在继续编译文件
./make.sh ./make.sh install
会在/usr/bin目录下创建一个fdfs的一个文件现在进入查看
ll fdfs*
之后进入到fastdfs-5.05目录下查看文件
cd到conf文件夹下复制文件
cp * /etc/fdfs cd /etc/fdfs
修改配置文件(tracker.conf)
更改目录
创建需要的文件夹
mkdir /fastdfs/tracker -p
mkdir /fastdfs/storage -p
mkdir /fastdfs/client -p
mkdir /fastdfs/tmp -p
启动tracker服务
在/usr/bin目录下启动服务
fdfs_trackerd /etc/fdfs/tracker.conf
修改storage.conf配置文件
这边ip地址换成私网ip,公网ip也可以,但是要在安全组配置端口开放
启动store服务
./fdfs_storaged /etc/fdfs/storage.conf
编辑客户端文件
cd /etc/fdfs vim client.conf
上传图片测试
在本地利用ftp上传图片到文件夹下
在/usr/bin目录下使用命令
fdfs_test /etc/fdfs/client.conf upload /usr/local/tp/text.jpg
这样子就是上传成功url是上传的路径
解压fastDFS桥梁文件
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
进入到解压后的src目录里面
编辑config文件
vim config
删除local目录即可
搭建nginx
在/usr/local创建文件夹在将我们的文件上传上去
mkdir Nginx
解压nginx并进入目录
tar -zvxf nginx-1.12.0.tar.gz
然后最重要的一步进入到fastDFS目录下的src拷贝路径
./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ --http-proxy-temp-path=/var/temp/nginx/proxy \ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ --http-scgi-temp-path=/var/temp/nginx/scgi \ --add-module=/usr/local/fastDFS/fastdfs-nginx-module/src # 最后一个目录就是刚刚拷贝的路径
之后进入到nginx下执行上面的命令
编译安装nginx
make
接着
make install
拷贝fastDFS桥梁文件到nginx目录
cp mod_fastdfs.conf /etc/fdfs
接
cd /etc/fdfs
修改配置文件
mod_fastdfs.conf
保存之后进入到nginx/conf目录
编辑nginx.conf文件
server{
listen 端口;
server_name 8公网ip
location /wdzl/MOO{
ngx_fastdfs_module:
}
}
之后去到nginx的sbin目录启动nginx服务
./nginx -t
先检查是否可以启动
./nginx
阿里云安全组开放之前配置的端口
关闭防火墙
systemctl stop firewalld
打开浏览器查看上传的图片
已经成功上传上去之后,进行nginx
Nginx反向代理tomcat
先去到nginx的conf文件夹下修改配置文件
vim nginx.conf
配置tomcat集群
upstream tomcats{
server 内网ip:8080;
}
如果说要做集群那就多加几个server,通过nginx的反向代理去访问8080端口
添加我们的代理路径
重启nginx
./nginx -s reload;
访问tomcat
现在已经做了代理就不需要添加8080的安全组了因为会代理到80端口浏览器访问tomcat
可以发现现在不需要添加8080直接输入我们的公网IP地址就可以访问tomcat到这里环境已经安装好了
相关文章:

阿里云ecs服务器配置反向代理上传图片
本文所有软件地址: 链接:https://pan.baidu.com/s/12OSFilS-HNsHeXTOM47iaA 提取码:dqph 为什么要使用阿里云服务器? 项目想让别人通过外网进行访问就需要部署到我们的服务器当中 1.国内知名的服务器介绍 国内比较知名的一些…...

免费阅读篇 | 芒果YOLOv8改进110:注意力机制GAM:用于保留信息以增强渠道空间互动
💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可 该专栏完整目录链接: 芒果YOLOv8深度改进教程 该篇博客为免费阅读内容,直接改进即可🚀🚀…...
GetLastError()返回值及含义
https://www.cnblogs.com/ericsun/archive/2012/08/10/2631808.html 〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存储控制块被损坏。 〖8〗-存储空…...
k8s admin 用户生成token
k8s 版本 1.28 创建一个admin的命名空间 admin-namespce.yaml kind: Namespace apiVersion: v1 metadata: name: admin labels: name: admin 部署进k8s kubectl apply -f admin-namespce.yaml 查看k8s namespace 的列表 kubectl get namespace查看当前生效的…...

【vscode】vscode重命名变量后多了很多空白行
这种情况,一般出现在重新安装 vscode 后出现。 原因大概率是语言服务器没设置好或设置对。 以 Python 为例,到设置里搜索 "python.languageServer",将 Python 的语言服务器设置为 Pylance 即可。...

深度学习实战模拟——softmax回归(图像识别并分类)
目录 1、数据集: 2、完整代码 1、数据集: 1.1 Fashion-MNIST是一个服装分类数据集,由10个类别的图像组成,分别为t-shirt(T恤)、trouser(裤子)、pullover(套衫…...

vue实现element-UI中table表格背景颜色设置
目前在style中设置不了,那么就在前面组件给设置上 :header-cell-style"{ color: #ffffff, fontSize: 14px, backgroundColor: #0E2152 }" :cell-style"{ color: #ffffff, fontSize: 14px, backgroundColor: #0E2152 }"...
RabbitMQ学习总结-消息的可靠性
保证MQ消息的可靠性,主要从三个方面:发送者确认可靠性,MQ确认可靠性,消费者确认可靠性。 1.发送者可靠性:主要依赖于发送者重试机制,发送者确认机制; 发送者重试机制,其实就是配置…...
2024蓝桥杯每日一题(BFS)
备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一:母亲的奶牛 试题二:走迷宫 试题三:八数码1 试题四:全球变暖 试题五:八数码2 试题一:母亲的奶牛 【题目描述】 农夫约…...

力扣思路题:最长特殊序列1
int findLUSlength(char * a, char * b){int alenstrlen(a),blenstrlen(b);if (strcmp(a,b)0)return -1;return alen>blen?alen:blen; }...
c# 的ref 和out
在C#中,ref和out是用于方法参数的关键字,它们都允许在方法调用中对参数进行修改。 ref关键字用于传递参数的引用。当使用ref关键字声明一个参数时,实际上是在告诉编译器此参数在调用方法之前必须被赋值。ref参数传递的是参数的引用地址&…...

ONLYOFFICE文档8.0全新发布:私有部署、卓越安全的协同办公解决方案
ONLYOFFICE文档8.0全新发布:私有部署、卓越安全的协同办公解决方案 文章目录 ONLYOFFICE文档8.0全新发布:私有部署、卓越安全的协同办公解决方案摘要📑引言 🌟正文📚一、ONLYOFFICE文档概述 📊二、ONLYOFFI…...
Mar 14 | Datawhale 01~04 打卡 | Leetcode面试下
第一阶段主要就是学习字符串的处理和二叉树的遍历。前一段时间学习了二叉树的遍历,记忆还比较深刻,这几个题还是比较轻松的做出来了;但是像Longest Palindromic Substring这样的题除了简单的字符串处理(回文判断)&…...

【计算机网络】什么是http?
目录 前言 1. 什么是HTTP协议? 2. 为什么使用HTTP协议? 3. HTTP协议通信过程 4. 什么是url? 5. HTTP报文 5.1 请求报文 5.2 响应报文 6. HTTP请求方式 7. HTTP头部字段 8. HTTP状态码 9. 连接管理 长连接与短连接 管线化连接…...

【python开发】并发编程(上)
并发编程(上) 一、进程和线程(一)多线程(二)多进程(三)GIL锁 二、多线程开发(一)t.start()(二)t.join()(三)t.…...
用c语言实现扫雷游戏
文章目录 概要整体架构流程代码的实现小结 概要 学习了c语言后,我们可以通过c语言写一些小程序,然后我们这篇文章主要是,扫雷游戏的一步一步游戏。 整体架构流程 扫雷网页版 根据上面网页版的基础扫雷可以看出是一个99的格子,…...
LeetCode 2882.删去重复的行
DataFrame customers ------------------- | Column Name | Type | ------------------- | customer_id | int | | name | object | | email | object | ------------------- 在 DataFrame 中基于 email 列存在一些重复行。 编写一个解决方案,删除这些重复行&#…...

对OceanBase进行 sysbench 压测前,如何用 obdiag巡检
有一些用户想对 OceanBase 进行 sysbench 压测,并向我询问是否需要对数据库的各种参数进行调整。我想起有一个工具 obdiag ,具备对集群进行巡检的功能。因此,我正好借此机会试用一下这个工具。 obdiag 功能的比较丰富,详细情况可参…...
每天学习几道面试题|Kafka架构设计类
文章目录 1. Kafka 是如何保证高可用性和容错性的?2. Kafka 的存储机制是怎样的?它是如何处理大量数据的?3. Kafka 如何处理消费者的消费速率低于生产者的生产速率?4. Kafka 集群中的 Controller 是什么?它的作用是什么…...

.rmallox勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
导言: 近年来,勒索病毒的威胁日益增加,其中一种名为.rmallox的勒索病毒备受关注。这种病毒通过加密文件并勒索赎金来威胁受害者。本文将介绍.rmallox勒索病毒的特点,以及如何恢复被其加密的数据文件,并提供预防措施&a…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...

c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...

Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...