当前位置: 首页 > 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…...

React Native 导航系统实战(React Navigation)

导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...

如何在网页里填写 PDF 表格?

有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据&#xff…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

篇章二 论坛系统——系统设计

目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...

WEB3全栈开发——面试专业技能点P4数据库

一、mysql2 原生驱动及其连接机制 概念介绍 mysql2 是 Node.js 环境中广泛使用的 MySQL 客户端库,基于 mysql 库改进而来,具有更好的性能、Promise 支持、流式查询、二进制数据处理能力等。 主要特点: 支持 Promise / async-await&#xf…...

【java】【服务器】线程上下文丢失 是指什么

目录 ■前言 ■正文开始 线程上下文的核心组成部分 为什么会出现上下文丢失? 直观示例说明 为什么上下文如此重要? 解决上下文丢失的关键 总结 ■如果我想在servlet中使用线程,代码应该如何实现 推荐方案:使用 ManagedE…...