阿里云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…...

idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

构建Docker镜像的Dockerfile文件详解
文章目录 前言Dockerfile 案例docker build1. 基本构建2. 指定 Dockerfile 路径3. 设置构建时变量4. 不使用缓存5. 删除中间容器6. 拉取最新基础镜像7. 静默输出完整示例 docker runDockerFile 入门syntax指定构造器FROM基础镜像RUN命令注释COPY复制ENV设置环境变量EXPOSE暴露端…...