当前位置: 首页 > news >正文

阿里云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深度改进教程 该篇博客为免费阅读内容,直接改进即可🚀🚀&#x1f…...

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(套衫&#xf…...

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…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

Java入门学习详细版(一)

大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

docker 部署发现spring.profiles.active 问题

报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、👨‍🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨‍&#x1f…...

管理学院权限管理系统开发总结

文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

C++使用 new 来创建动态数组

问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...