阿里云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.rhkb.cn/news/283626.html

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

相关文章

什么是行业垂直类媒体?有哪些?怎么邀约

传媒如春雨,润物细无声,大家好,我是51媒体胡老师。 行业垂直类媒体是聚焦于特定行业或领域的媒体平台。 行业垂直类媒体不同于主流媒体,它们专注于提供与某个特定领域相关的深入内容和服务,例如商业新闻、旅游、数字…

seleniumUI自动化实例(登录CSDN页面)

今天分享一个CSDN登录模块的登录场景 1.配置文件 CSDNconf.py: from selenium import webdriver options webdriver.ChromeOptions() options.binary_location r"D:\Program Files\360\360se6\Application\360se.exe" # 360浏览器安装地址 driver w…

C++ Qt开发:QUdpSocket实现组播通信

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QUdpSocket组件实现基于UDP的组播通信…

MyBatis3源码深度解析(十七)MyBatis缓存(一)一级缓存和二级缓存的实现原理

文章目录 前言第六章 MyBatis缓存6.1 MyBatis缓存实现类6.2 MyBatis一级缓存实现原理6.2.1 一级缓存在查询时的使用6.2.2 一级缓存在更新时的清空 6.3 MyBatis二级缓存的实现原理6.3.1 实现的二级缓存的Executor类型6.3.2 二级缓存在查询时使用6.3.3 二级缓存在更新时清空 前言…

Nginx 的安装、启动和关闭

文章目录 一、背景说明二、Nginx 的安装2.1、依赖的安装2.2、Nginx 安装2.3、验证安装 三、启动 Nginx3.1、普通启动3.2、如何判断nginx已启动3.3、通过配置启动3.4、设置开机启动 四、关闭 Nginx4.1、优雅地关闭4.2、快速关闭4.3、只关闭主进程4.4、使用nginx关闭服务 五、重启…

计算机网络:数据交换方式

计算机网络:数据交换方式 电路交换分组交换报文交换传输对比 本博客介绍计算机之间数据交换的三种方式,分别是电路交换、分组交换以及报文交换。 电路交换 我们首先来看电路交换,在电话问世后不久,人们就发现要让所有的电话机都…

Springboot-软件授权License

无意中看到了一个简单方便的授权方式,只需几步就可集成到boot项目中。 先上地址:smart-license: 保护个人与企业的软件作品权益,降低盗版造成的损失。PS:因个人精力有限,不再提供该项目的咨询答疑服务。 Smart-licen…

【小米汽车SU7实测】 小米汽车su7到底行不行?小米新能源轿车体验感怎么样?

小米汽车SU7是小米汽车的首款车型,定位“C级高性能生态科技轿车”,也是小米迈入新能源赛道的首次成果落地。 首先,让我们来谈谈它的性能。试驾过程中,小米SU7展现出了惊人的加速能力,0-100km/h加速仅需2.78秒&#xf…

pytest全局配置+前后只固件配置

pytest全局配置前后只固件配置 通过读取pytest.ini配置文件运行通过读取pytest.ini配置文件运行无条件跳过pytest.initest_mashang.pyrun.py 有条件跳过test_mashang.py pytest框架实现的一些前后置(固件、夹具)处理方法一(封装)方…

Kafka总结问题

Kafka Kafka Kafka Kafka的核心概念/ 结构 topoic Topic 被称为主题,在 kafka 中,使用一个类别属性来划分消息的所属类,划分消息的这个类称为 topic。topic 相当于消息的分配标签,是一个逻辑概念。主题好比是数据库的表&#xff0…

C++进阶之路---C++11相关特性 | 左值引用 | 右值引用 | 完美转发

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了C98称为C11之…

全球大型语言模型(LLMS)现状与比较

我用上个博文的工具将一篇ppt转换成了图片,现分享给各位看官。 第一部分:国外大语言模型介绍 1,openai的Chatgpt 免费使用方法1:choose-carhttps://share.freegpts.org/list 免费使用方法2:Shared Chathttps://share…

【Java】Map和Set

文章目录 一、Map和Set的概念二、模型三、Map的说明3.1 Map.Entry<K, V>的说明3.2 Map 的常用方法 四、Set的说明4.1 Set的常用方法 一、Map和Set的概念 Map和set是一种专门用来进行搜索的容器或者数据结构&#xff0c;其搜索的效率与其具体的实例化子类有关&#xff0c…

redis和rabbitmq实现延时队列

redis和rabbitmq实现延时队列 延迟队列使用场景Redis中zset实现延时队列Rabbitmq实现延迟队列 延迟队列使用场景 1. 订单超时处理 延迟队列可以用于处理订单超时问题。当用户下单后&#xff0c;将订单信息放入延迟队列&#xff0c;并设置一定的超时时间。如果在超时时间内用户…

Ollama 运行 Cohere 的 command-r 模型

Ollama 运行 Cohere 的 command-r 模型 0. 引言1. 安装 MSYS22. 安装 Golang3. Build Ollama4. 运行 command-r 0. 引言 Command-R Command-R 是一种大型语言模型&#xff0c;针对对话交互和长上下文任务进行了优化。它针对的是“可扩展”类别的模型&#xff0c;这些模型在高…

CTF题型 Http请求走私总结Burp靶场例题

CTF题型 Http请求走私总结&靶场例题 文章目录 CTF题型 Http请求走私总结&靶场例题HTTP请求走私HTTP请求走私漏洞原理分析为什么用前端服务器漏洞原理界定标准界定长度 重要!!!实验环境前提POST数据包结构必要结构快速判断Http请求走私类型时间延迟CL-TETE-CL 练习例题C…

代码随想录阅读笔记-栈与队列【用栈实现队列】

题目 使用栈实现队列的下列操作&#xff1a; push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。 示例: MyQueue queue new MyQueue(); queue.push(1); queue.push(2); queue.peek(); …

GPT实战系列-智谱GLM-4的模型调用

GPT实战系列-智谱GLM-4的模型调用 GPT专栏文章&#xff1a; GPT实战系列-实战Qwen通义千问在Cuda 1224G部署方案_通义千问 ptuning-CSDN博客 GPT实战系列-ChatGLM3本地部署CUDA111080Ti显卡24G实战方案 GPT实战系列-Baichuan2本地化部署实战方案 GPT实战系列-让CodeGeeX2帮…

docker仓库登录及配置insecure-registries的方法

docker仓库登录及配置insecure-registries的方法 这篇文章主要介绍了docker仓库登录配置insecure-registries的方法,docker客户端如果配置中添加了insecure-registary配置&#xff0c;就不需要在docker 客户端配置上对应证书&#xff0c;如果不配置要在/etc/docker/certs.d/目…

vue3与Electron构建跨平台应用(webpack)

一、创建vue3项目 vue create vue3_webpack_electron 二、安装Electron npm install --save-dev electron Electron 三、vue add electron-builder vue add electron-builder