手把手带你搭建一个自己的云服务器并部署Web程序

一. 服务器的购买

  1. 我选择的是阿里云的服务器,学生价9.5元一个月,百度直接搜索阿里云,然后点击右上角登录,推荐大家用支付宝扫码登录,方便快捷。阿里云官网的东西比较多,登录后我找了很久也没有找到学生服务器在哪里卖,购买的时候需要进行学生认证,按照他的要求一步步来就好,认证大概需要几个小时。如果你不是学生那就直接购买ecs服务器就好,首页就可以看到ecs服务器的购买地址,但是要比学生服务器贵不少。 在这里要说一下预装环境的选择,因为大部分服务器都是linux系统,linux中centos的使用又是最多的,所以推荐大家也选择centos系统,然后是应用镜像的选择,应用镜像的作用主要就是帮你预装服务器的环境,比如mysql,apache,tomcat这些,有的还会给你提供管理服务器的面板,方便对服务器的操作。应用镜像可用可不用,如果你只是想快速的配置好服务器,推荐大家安装宝塔linux面板,使用起来很方便,如果你想了解或者已经了解一些linux的使用,就可以忽略应用镜像。如果是用来学习的话地域的选择是无所谓的,可以选择一个离自己近的。

2.服务器购买成功之后在阿里云的首页右上角进入控制台,控制台的侧边栏中有esc服务器或者轻量级服务器也就是学生服务器,点击进入后你就可以看到自己购买的服务器,右下角就是你服务器的ip地址,接下来要用到。

二. 服务器的配置

1.首先点击远程连接中的设置root密码,这是连接服务器要用到的。

2.然后在防火墙中点击添加规则开放端口,为了方便我开启了如图中的端口。你也可以只开启21,22,443,8080这几个端口,如果你使用的是宝塔linux,则还需要打开8888端口。

三. 服务器环境手动搭建

现在服务器已经有了,该怎么使用呢?如果要使用命令行手动搭建环境,最好大家要对linux命令有一些了解,如果你不想使用linux命令来快速搭建环境,且安装了宝塔linux面板,请直接看第四部分。

  1. 工具准备
    我们需要两款软件来连接到服务器,一个叫Xshell,用来操控服务器,另一个叫Xftp,用来进行服务器和自己电脑之间的文件传输。直接百度或者在360宝库中就可以下载到这两款软件。

2.Xshell的连接
Xshell的使用很方便,首先输入自己服务器的IP地址,在阿里云服务器列表的右下角就有你服务器的IP地址,点击连接,然后用户名输入root,密码输入你在前面设置的root密码,当屏幕显示welcome to alibaba cloud时,说明你连接成功了。

3.Xftp的连接
Xftp的登录和Xshell类似,输入服务器IP,用户输入root,然后输入root密码,登录成功后,左边框为你自己电脑上的文件,右边为服务器上的文件,左右拖动来进行文件的上传和下载。

4.JDK的安装
这两个软件安装好之后我们便可以开始服务器环境的搭建,因为是学习用的简单环境,并发不高,所以并没有使用nginx,apache或者redis这些,使用的java环境为简单的tomcat+mysql,环境搭建我们需要使用Xshell来完成。在安装tomcat之前我们首先要进行jdk的安装,linux系统上jdk的安装十分简单,我使用的是1.8版本的jdk,运行命令 yum -y install java-1.8.0-openjdk.x86_64,屏幕上出现Complete时,说明安装成功了。接着你可以运行java -version,显示出当前java版本说明没有问题。

5.Tomcat的安装
接下来是tomcat的安装,yum上没有tomcat的源,所以需要wget的方式来下载,首先通过cd /opt来切换到opt目录下。

运行命令wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz
src="https://yqfile.alicdn.com/ac733c3534aaa8aedbfb616ce5d0603cc01eaf56.png" alt="image" title="image">

执行完毕之后我们已经将tomcat压缩包下载到了opt目录下,然后我们运行命令 tar xzf apache-tomcat-8.5.32.tar.gz 来解压这个压缩包。

现在我们在Xftp中是可以看到这两个文件的,我们可以单击解压后的文件按F2来重命名为tomcat8.5,方便我们使用命令行来对他进行操作。

执行命令/opt//tomcat8.5/bin/startup.sh运行tomcat,显示tomcat started,说明启动成功了

我们也可以输入netstat -anp|grep 8080来查看8080端口

这个时候我们已经可以从外网访问了,在你的浏览器上直接访问你的服务器ip地址加端口号,例如http://39.107.104.52:8080/,如果访问成功说明我们的tomcat已经配置好了。

6.mysql的安装
yum上mysql的资源有问题,所以不能仅仅之用yum。在使用yum之前还需要用其他命令获取mysql社区版,执行命令wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm。

这时候我们就可以通过yum进行安装了,执yum install mysql mysql-server mysql-devel -y,最后显示complete则说明安装成功。

安装成功后,我们通过systemctl start mysql.service来启动mysql服务器,然后我们依旧可以执行netstat -anp|grep 3306命令来查看mysql是否启动。

通过yum安装的mysql的管理员账户是没有密码的,这里通过命令设置其密码为 admin ,大家也可以设为其他,执行命令mysqladmin -u root password admin。

注: Warning信息并非提示设置失败,而是告诉大家密码露出来了,当心背后有人。

7.项目和数据库的上传
我们通过mysql -uroot -padmin命令来登录数据库,admin是密码,如果你设置成了其他密码在这里请更换为自己设置的,通过CREATE DATABASE xxx DEFAULT CHARACTER SET utf8;命令来创建数据库,记得在进入数据库后执行的命令后要加分号,xxx为数据库名,在创建时改为你要创建的数据库名,创建后执行show databases;,即可看到你所创建的数据库。很多时候数据库都是我们本地创建好后导入至服务器,我们首先需要使用Xftp将数据库文件传输到服务器上,我们可以通过mysql -u root -padmin --default-character-set=utf8 xxx < /home/xxx.sql命令来导入数据库,xxx即为数据库名,/home/xxx.sql为数据文件的路径。导入操作完成后,我们再次通过mysql -uroot -padmin命令来登录数据库,执行use xxx; ,然后show tables;,查看导入的数据库。

项目的上传就较为简单了,我们只需将项目直接放入tomcat的webapps目录中即可,或者将项目打包成war文件后放入,重启tomcat后war文件会被自动解析。关闭tomcat的命令为/opt/tomcat8.5/bin/shutdown.sh,关闭后再打开完成重启。

这时候你就可以在外网访问到你的项目了,例如http://39.107.104.52:8080/shop/

到这里服务器搭建就算完成了,如果你还想对你的服务器做进一步的优化,提高网站的访问速度和服务器的性能,请看第五部分——Nginx的使用,使用nginx还有一个好处就是可以在不备份的情况下去掉8080端口(正常情况下我们不备份网站是无法去掉端口号的去使用网站默认的80端口的),比如可以将http://39.107.104.52:8080/shop变为http://39.107.104.52/shop

四.宝塔linux面板环境搭建

  1. 宝塔面板登录
    宝塔面板的使用较为简单,首先从控制台进入服务器管理页面,然后进入应用详情,点击复制

然后远程连接,连接成功后右键将复制的内容粘贴,回车运行,会显示出宝塔面板的密码,把它复制下来。

退出远程连接,点击面板首页地址。

用户名为admin,密码为刚刚远程连接后复制的密码。

  1. 软件安装和配置
    登录成功后在侧边栏找到软件管理

安装tomcat和mysql,我安装的tomcat版本为8.5,mysql版本为5.7。

在等待安装的这段时间里,我们先开放端口,点击侧边栏中的安全,放行8080端口。

安装完成后,我们这时已经可以从外网访问到tomcat页面。访问如http://39.107.104.52:8080/,IP地址要换成你自己服务器的IP地址。

上传数据库

从侧边栏进入数据库,点击添加数据库,密码可以随机生成,也可以自己设置。

添加成功后点击导入,即可将本地的sql数据库文件上传到服务器。

上传项目

在软件管理中点击tomcat的文件位置,进入tomcat。

打开tomcat的webapps文件夹,点击左上角的上传,将项目文件或者项目的war包放入后重启tomcat即可。

这时候你就可以在外网访问到你的项目了,例如http://39.107.104.52:8080/shop/

到这里服务器搭建就算完成了,如果你还想对你的服务器做进一步的优化,提高网站的访问速度和服务器的性能,请看第五部分——Nginx的使用,使用nginx还有一个好处就是可以在不备份的情况下去掉8080端口(正常情况下我们不备份网站是无法去掉端口号的去使用网站默认的80端口的),比如可以将http://39.107.104.52:8080/shop变为http://39.107.104.52/shop

五 .服务器性能优化(Nginx的使用)

Nginx是一个反向代理服务器,使用nginx可以实现动静分离和负载均衡,动静分离是指在处理用户请求时,由nginx处理静态请求,tomcat处理动态请求,降低了tomcat的负载,让tomcat可以专注处理动态请求。负载均衡是指nginx可以同时连接多个tomcat即tomcat集群,将用户的动态请求均衡的转发给各个tomcat。那么,Nginx该如何使用呢?

1.使用宝塔面板安装配置Nginx
在软件管理中找到Nginx点击安装,在这里我安装的是1.14版本。

安装完成后需要对nginx进行配置,点击nginx的设置,进入设置页面,点击配置修改,将原本的配置文件全部删除,改成如下内容:

user  www www;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events

{use epoll;worker_connections 51200;multi_accept on;
}

http

{include       mime.types;#include luawaf.conf;include proxy.conf;default_type  application/octet-stream;server_names_hash_bucket_size 512;client_header_buffer_size 32k;large_client_header_buffers 4 32k;client_max_body_size 50m;sendfile   on;tcp_nopush on;keepalive_timeout 60;tcp_nodelay on;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 256k;fastcgi_intercept_errors on;gzip on;gzip_min_length  1k;gzip_buffers     4 16k;gzip_http_version 1.1;gzip_comp_level 2;gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;gzip_vary on;gzip_proxied   expired no-cache no-store private auth;gzip_disable   "MSIE [1-6]\.";limit_conn_zone $binary_remote_addr zone=perip:10m;limit_conn_zone $server_name zone=perserver:10m;server_tokens off;access_log off;

upstream tomcats{

ip_hash;
server 39.107.104.52:8080;
server 39.107.104.52:8081;

}

server

{listen 80;server_name localhost;index index.html index.htm index.jsp;root  /www/server/myadmin;#error_page   404   /404.html;include enable-php.conf;

location / {

proxy_pass http://tomcats;}

location ~ .(gif|jpg|png)$ {

   expires 30d;access_log off;root /www/server/myadmin;
}

一键申请SSL证书验证目录相关设置

location ~ \.well-known{allow all;
}
    access_log  /www/wwwlogs/access.log;
}

include /www/server/panel/vhost/nginx/*.conf;
}

这个配置文件中,我们必须要了解的内容有两部分,文件中的 upstream tomcats中就是我们的tomcat地址,也就是nginx接收到动态请求后要转发的地址,在这里我除了宝塔安装的tomcat外,又手动安装了一个tomcat,分别在8080和8081端口,手动安装tomcat请参考第三部分中的tomcat安装,如果你不想手动安装,在这里可以只写一个,将另一个删掉,让Nginx只做动静分离,ip_hash是指绑定用户IP,防止出现更换tomcat后session的问题,每个ip只能访问到其中的一个tomcat,删除掉这句话后刷新几次页面你会发现你会访问不同的tomcat。server中的 root /www/server/myadmin 指的就是我们存放静态文件的根目录,当有静态请求时nginx将在这个目录下寻找文件。 location ~ .(gif|jpg|png)$指的是当请求以.gif|.jpg|.png结尾时判定其为静态文件,直接去根目录寻找,其他请求则转发至tomcat,当然你也可以把css,js等文件判定为静态文件,只需将.js,.css加在里面即可。配置完毕后,就可以去访问项目了,例如http://39.107.104.52:8080/shop/可以修改为http://39.107.104.52/shop/进行访问了,这时你会发现项目中的图片不见了,因为所有的以.gif|.jpg|.png结尾的文件请求都被nginx拦截了,我们需要将这些文件放在nginx的根目录下,同时更改项目中的图片路径,例如路径/picture/1.png指的就是/www/server/myadmin/picture/1.png。在这里对于nginx具体的配置就不细说了,如果你对nginx感兴趣,可以在下面留言给我,我发详细的视频教程给你。

2.手动安装Nginx
因为我使用的是宝塔linux安装的Nginx,并未亲自操作手动安装Nginx,所以推荐给大家另一篇博客https://www.cnblogs.com/taiyonghai/p/6728707.html,手动安装Nginx较为复杂,有兴趣的朋友们可以去看看。关于Nginx的配置,可以参考我上面写的。

博客到这里就结束啦,希望可以帮到大家,最后还要跟大家说的一件事就是在使用阿里云服务器时,出现任何问题都可以在控制台提交工单,让阿里的程序员们来帮你解决问题,但是工单的回复速度可能会比较慢。

原文链接
本文为云栖社区原创内容,未经允许不得转载。

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

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

相关文章

QingStor分布式存储全线升级:自研需要勇气,成功还要看实力

数据量的爆炸式增长和企业对数据价值挖掘的渴求&#xff0c;正在让存储市场迎来前所未有的发展机遇。一方面&#xff0c;分布式存储正在经历快速的增长时期&#xff0c;IDC 2019年市场预测报告显示&#xff0c;无论是对象存储、文件存储还是块存储&#xff0c;分布式存储在未来…

加入阿里技术团队三年,哪些习惯让我在工作上持续受益?

2017年研究生毕业&#xff0c;我加入阿里巴巴数据库技术团队&#xff0c;从事分布式数据库研发&#xff0c;如今算来已经有三年时间了&#xff0c;在这期间&#xff0c;我深度参与了双十一背后的数据库PolarDB-X从设计到实现的全过程。在这三年的时间里&#xff0c;于我而言&am…

征战多云时代,Nutanix这款Kubernetes多云PaaS新利器,你Get到了吗?

当前&#xff0c;全球企业上云步伐加快&#xff0c;企业都有相同的目标&#xff1a;尽快将业务迁移上云&#xff0c;从而减少基础架构成本&#xff0c;提高员工效率&#xff0c;缩短业务研发时间&#xff0c;提供性能可靠的IT系统。 当下&#xff0c;以容器、服务网格、微服务…

学习笔记之数据可视化(二)——页面布局(中)

续上一章 2.6 监控区域布局2.6.1 布局结构解析:2.6.2 样式描述:2.6.3 HTML结构及CSS样式代码2.6.3 ### 监控区域-效果2.6.7 点位区域(point)2.6 监控区域布局 监控区域 monitor盒子高度: 480px,布局划分及内部盒子类名如下: 2.6.1 布局结构解析: .tab样切换:tabs 标…

OFD文件、pdf文件相互转换、ofd文件在线预览

文章目录一、在线预览1. api使用2. 案例3. 效果二、ofd转odf2.1. api使用2.2. 参考案例三、odf转ofd3.1. api使用3.2. 参考案例3.3. 开源项目一、在线预览 1. api使用 ofd文件在线预览: 使用方式&#xff1a; 格式&#xff1a;/ofdViewer/viewer.html?file1.ofd相对路径 2.…

【开发者成长】Vue.js 中有哪些性能陷阱

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 我内心深处对游戏的热爱&#xff0c;让我一直渴望能自己制作一些电子游戏。几个月前我开始将这种梦想变为现实&#xff0c;并…

【职业生涯】这样的开发人员每个团队都想要

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 合作是你职业生涯中不会缺少的一个部分。 什么是团队&#xff1f;团队就为了共同目标而努力的一群人。一个团队实现目标的过…

elasticsearch-7.15.2 同时支持中文ik分词器和pinyin分词器

文章目录1. 自定义分词器2. 映射模型3. 效果图1. 自定义分词器 ES如何支持拼音和中文分词 &#xff1f; 自定义分词器 支持拼音和中文分词 PUT /jd_goods {"settings": {"analysis": {"analyzer": {"ik_smart_pinyin": {"type&…

【数字康复治疗】自闭症市场能否走出供求困境

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 世界卫生组织将每年的4月2日设为“世界提高自闭症意识日”&#xff0c;旨在提高人们对自闭症和相关研究与诊断以及自闭症患者…

微软全球 AKS 女掌门人,这样击破云原生“怪圈”!

来源 | 程序人生作者 | 伍杏玲近年来&#xff0c;“云原生”成为IT界的热词&#xff0c;可什么是“云原生”&#xff1f;不少开发者表示“云里雾里”&#xff0c;更别提如何借助云原生更好地释放云价值。从云原生&#xff08;CloudNative&#xff09;一词中我们看到&#xff0c…

【数据库】一个 rm -rf 把公司整个数据库删没了

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 经历了两天不懈努力&#xff0c;终于恢复了一次误操作删除的生产服务器数据。 对本次事故过程和解决办法记录在此&#xff0c…

elasticsearch-7.15.2 集成pinyin分词器

文章目录1. 下载拼音分词器2. es集成pinyin3. 启动es4. pinyin分词5. 效果图6. 开源项目1. 下载拼音分词器 链接&#xff1a;https://github.com/medcl/elasticsearch-analysis-pinyin 2. es集成pinyin 方式任选其中一种即可 第一种&#xff1a;在线安装 ./bin/elasticsear…

【智能AI】准确率97%的开源肺炎检测模型

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 最近&#xff0c;一位澳大利亚的人工智能博士候选人在 LinkedIn 上发布了一篇关于 SARS-CoV-2 病毒的研究文章。由于极具话题…

豪气!华为放话:3年培养100万AI人才!网友神回应了

大家经常把BAT挂在嘴边&#xff0c;但是可能有些人还不知道&#xff0c;华为的体量早已超越了这三巨头&#xff0c;只是迟迟不肯上市。华为的创始人任正非曾说表&#xff1a;上不上市不重要&#xff0c;最重要的是要让中国华为的技术能够称霸全球&#xff01;华为对技术的重视&…

elasticsearch-7.15.2 配置IK中文分词器+拼音分词

文章目录1. 下载分词器2. es集成pinyin3. 启动es4. 自定义分词5. 映射模型6. 初始化数据7. 查询索引8. 效果图9. 开源项目1. 下载分词器 ik中文分词器 中文分词器&#xff1a;https://github.com/medcl/elasticsearch-analysis-ik 拼音分词器 链接&#xff1a;https://github.…

Gartner 容器报告:阿里云与 AWS 并列第一,领先微软、谷歌

近日&#xff0c;国际知名调研机构 Gartner 发布 2020 年容器公有云竞争格局报告&#xff0c;阿里云再度成为国内唯一入选厂商。Gartner 报告显示&#xff0c;阿里云容器服务在中国市场表现强劲&#xff0c;产品形态丰富&#xff0c;在如 Serverless 容器、服务网格、安全沙箱容…

每个程序员都必须知道的8种通用数据结构

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 数据结构是一种特殊的组织和存储数据的方式&#xff0c;可以使我们可以更高效地对存储的数据执行操作。数据结构在计算机科学…

ElasticSearch 从安装开始_01

文章目录1. windows 环境2. linux3. HEAD 插件安装4. 分布式安装5. Kibana 安装1. windows 环境 首先打开 Es 官网&#xff0c;找到 Elasticsearch&#xff1a; https://www.elastic.co/cn/downloads/elasticsearch 然后点击下载按钮&#xff0c;选择合适的版本直接下载即可。…

硅谷2020最新大数据学习路线:科学使用这一招,12周助你成为数据分析师

来源 | 智领云科技责编 | Carol数据科学到底是什么&#xff1f;数据科学是一门将数据变得有用的学科&#xff0c;它包含三个重要概念&#xff1a;统计、机器学习、数据挖掘/分析。《数据科学杂志》曾提出&#xff1a;“所谓的‘数据科学’&#xff0c;指的是那些任何与数据相关…

新基建带来新机遇!大数据产业发展需“四驱”推动

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 近段时间以来&#xff0c;“新基建”一次热度不断攀升&#xff0c;受到了科技、产业界的高度关注。实际上&#xff0c;新基建…