阿里云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到这里环境已经安装好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/754937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习复习(9)——自定义dataset

目录 第一种dataset(文件夹名即为标签) 用于将格式(1)转换为格式(2) 第二种dataset(标签在labels文件夹下的对应的txt文件里面) 第一种dataset(文件夹名即为标签) 数据组织格式(1) --data ----train …

续上篇 qiankun 微前端配置

上篇文章地址:微前端框架 qiankun 配置使用【基于 vue/react脚手架创建项目 】-CSDN博客 主应用: src/main.js 配置: import Vue from vue import App from ./App.vue import router from ./router import { registerMicroApps, start } …

【小程序开发】蓝牙设备API——单点蓝牙应用程序编程接口整理(二)

ty.device.getBLEDeviceRSSI 获取 BLE 外设的信号 需引入DeviceKit,且在>1.2.6版本才可使用 参数 Object object 属性类型默认值必填说明deviceIdstring是设备模型 deviceId 设备 Idcompletefunction否接口调用结束的回调函数(调用成功、失败都会执…

jar读取目录配置、打包jar后无法获取目录下的配置

jar读取目录配置、打包jar后无法获取目录下的配置 jar读取目录配置、打包jar后无法获取目录下的配置。java打成jar包后获取不到配置文件路径。解决项目打成jar包上线无法读取配置文件。打包jar后无法读取resource下的配置文件 场景 需要读取 src/main/resources/mapper下的所…

大机中的汇编语言该怎么学

提起程序开发,就不得不说合久必分,分久必合,反成各个程序段之间都有这个关系,而多个程序又组成一个功能组,可以完成一项业务,ASM比JCL难很多,因为它涉及到地址和业务。 一 ASM 的难度如何 比方…

UGUI界面性能优化3-合理规划界面层级结构

在Unity中,UGUI(Unity GUI)是一种用于创建用户界面的工具。合理规划界面层级结构对于开发一个可维护和易于使用的界面非常重要。以下是一种合理的UGUI界面层级结构规划方式: Canvas(画布):Canva…

【python】flask框架的生命周期,多种查询参数的获取方式

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

python图形化编程pygame游戏模块

文章目录: 一:语句使用模板 基本框架 1.安装Pygame 2.创建一个主窗口display 3.图像渲染与动画 4.鼠标事件mouse 5.声音和音乐sound 6.设置屏幕背景颜色fill 7.添加文字font 8.绘制图形draw 8.1 绘制多边形polygon 8.2 绘制直线line 8.3 绘…

探索编程迷宫:选择你的职业赛道

在现代科技的浪潮中,程序员的职业赛道就像是一座迷宫,充满着前端的美丽花园,后端的黑暗洞穴,以及数据科学的神秘密室。这个迷宫中,每一条通道都充满了挑战和机遇,而每一个行走其中的人都在寻找着属于自己的…

LM studio使用gemmar聊天小试

通过LM studio可以方便的使用各种模型,使用LM提供的chat界面或者是使用python代码。 试试代码 在windows下使用python简单一试,例子直接复制LM界面上的代码: 用pip安装 openai包在LM界面 Start Server 需要安装 openai包。 本地电脑是I7…

C++ GUI库FLTK的基本使用

文章目录 1. Ubuntu下FLTK编译和使用2. Windows下FLTK编译使用 1. Ubuntu下FLTK编译和使用 编译源码 安装依赖 sudo apt install libx11-dev sudo apt install cmake make编译 # 进入源码目录fltk-1.3.9 mkdir build cd build cmake .. make库文件位于build/lib中 准备头文件#…

【如何关闭Windows自动更新的6种方法】

关闭Windows自动更新的6种方法 1. 前言2. 方法1:使用本地组策略编辑器(适用于Windows 10 Pro和Enterprise版本)3. 方法2:使用注册表编辑器4. 方法3:服务管理5. 方法4:使用控制面板(仅适用于Wind…

【Golang星辰图】Go语言驾驭物联网:探索MQTT、CoAP、GPIO、串口、TLS和UDP的实现

打通物联网通信路:Go语言实现MQTT、CoAP、GPIO、串口、TLS和UDP协议详解 前言 物联网(IoT)的快速发展给设备间的通信提出了新的需求。本文将介绍使用Go语言实现物联网常用通信协议的相关库,包括MQTT、CoAP、GPIO、串口、TLS和UD…

服务器时间不准确的风险

1.误导系统记录:服务器时间不准确会误导系统记录文件的创建时间,导致文件的顺序发生变化。这对于需要按照时间顺序处理文件的系统来说,可能会引发严重的问题。 2.影响任务执行:对于有时间依赖的任务,服务器时间不准确会…

[c++]内存管理

1. C/C内存分布 我们先来看下面的一段代码和相关问题 int globalVar 1; static int staticGlobalVar 1; void Test() { static int staticVar 1; int localVar 1; int num1[10] { 1, 2, 3, 4 }; char char2[] "abcd"; const char* pChar3 "abcd"; …

C++11 新特性:常量表达式 constexpr(上)

C11 引入了constexpr关键字,用于定义常量表达式,从而使变量获得在编译阶段即可计算出结果的能力,提高运行时的效率。 constexpr 的使用分两篇文章介绍,今天这篇文章主要讲解什么是常量表达式和 constexpr 典型使用场景的前三种用…

分布式事务的解决方案--Seata架构

一、Seata的XA模式 二、AT模式原理 三、TCC模式原理 四、MQ分布式事务 异步,非实时,实现最终的一致性。 四、分布式事务的解决方案

Stable Diffusion WebUI 生成参数:宽度/高度/生成批次/每批数量/提示词相关性/随机种子

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 大家好,我是水滴~~ 本文将继续了解 Stable Diffusion WebUI 的生成参数,主要内容有:宽度、高度、生成批次、每批数量、提示词相关性、随机种子。希望能对你…

Visual Studio 2022下配置 OpenMP 多线程编程环境与运行

目录 一创建项目时选择“创建新项目 -> 空项目 -> 下一步 -> 创建” 二右键“源文件 -> 添加 -> 新建项 -> 添加” 三配置 1. 测试程序: 最开始的时候错误很多: 2.将 “ include "stdafx.h" ” 删掉,添加 “…

电影院售票网站|基于SSM框架+ Mysql+Java+ B/S结构的电影院售票网站设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java,ssm,springboot的平台设计与实现项目系统开发资源(可…