学习心得-纯手工搭建web环境

简介: 初次使用阿里云服务器搭建web环境以及成品展示。

自我介绍

鄙人耳东,在校大三学生一个,普通本科,意向运维发展。考虑到京东等大企业都有学生扶持计划,在阿里云平台进行查询,找到了飞天加速计划

使用攻略

纯手工搭建web环境

能够进行数据的增删改查等基本操作,先来看看效果,这个是我的个人网站,      www.zhaojiadong.top     (给你们空格了,直接复制去测试)效果图2.png在最底下(目前已经更新了,可以在头部列表里面按以下路径进行寻找:工作室-服务,然后拉到底下,有一个提交邮箱的表单,可以提交,就会直接录入我的数据库),进行表单的提交,如果跳转显示成功,那么就是你插入了一条数据在我的数据库,如果跳转失败可能是已经有了这个数据了(毕竟数据库设置了主键,没有改),可以提交自己的邮箱,让我看看哪些友友看到了我发表的文章。效果图.png

好了,回归正题,看看到底如何处理。根据这个来走。

https://developer.aliyun.com/adc/scenario/exp/5da5ab85466e46fa852d3f16b167668a?spm=5176.19772248.J_7678525600.1.1eaa514cBjR08m

这个是真的真的有用的,一直跟着这个走,能到达显示tomcat的页面就可以跟我下面走了。

准备部分

我们需要准备一些工具:Xshell,Xftp,native for MySQL ,当然,你的云服务器

这些工具能够让我们在接下来的操作中省去很多复杂的步骤。

准备IDEA

我在配置的时候用的是IDEA,当然,大家要是有别的操作方式,能够达到一样的效果也是可以的,如果你的IDEA能够在本地编译成功,那么可以直接跳过这里了,如果不能够编译运行成功可以看看,我只能说是给些参考。

检查部分

1.jdk部分,你的jdk建议是放到你的配置文件夹里面,这样的话防止你丢掉jdk或者不知道jdk用什么版本的(这一点还是很重要的,卡了我一个上午)。

2.jdbc部分,你的jdbc也是建议放到你的配置文件架里面,然后编译的时候把配置文件夹跟着编译一下,能够正常使用你的jdbc了

3.servlet部分,这一部分我感觉没有什么大用,但是当时可能是差错的时候用到了,所以我也把他放到了配置文件夹里面。

4.project settings部分:

这里分几个模块,第一个porject,这里需要着重注意jdk的版本就可以。1.png

第二个modules,这里需要着重注意原文件的设置(在mark as 部分的sources,位于整个界面的中间偏上部分,图中是我的配置情况这里分几个模块,第一个porject,这里需要着重注意jdk的版本就可以。2.png

第三个Libraies,这里我是放了一个jdbc的文件,个人感觉可有可无

第四个Facets,这里配置得较少,不太好下定论

4.png

第五个Artifacts,需要注意的是,如果不能正常编译且运行成功的话,需要右击Available Elements下的文件,然后选择Put into Output Root。然后着重查看一下Output directory 的文件路径,这个生成的文件夹是我们最后要上传到云服务器的。(这里我没有添加图片,但是按照我上面的内容去走就OK啦!)

WA0IFT]PC}$S([]9~ZLZINR.png

OK到这里IDEA的配置就OK了,如果有什么问题看看是不是接下来的部分的。

准备工具

主要是准备Xshell和Xftp,我们使用Xshell链接云服务器,然后使用Xshell当中的Xftp打开链接能够让Xftp链接(不建议直接打开Xftp,那样貌似链接不上),这个准备阶段就OK了

第二个准备是native,我们用这个直接使用常规连接,主机名那里写你的服务器的公网IP,用户名和密码是你数据库的用户名和密码,可以先测试一下,然后调试一下连接成功就OK啦,如果实在不会就去找找别的教程,这个点还是容易攻破的。

具体操作

使用IDEA,编译一遍项目,右击项目中out文件夹里面的artifacts文件夹里面的内容,选择copy这个文件夹,然后复制到你的桌面上。

SW7HV7DF5T5Y%@]B_6I}AH7.png

如图,是我的文件夹,以及其内容

图片.png

打开Xftp,跟着下面的路径走,你会得到tomcat的文件夹[6}WE2YZ37_J6(H[P)7IH~K.png

将文件夹里面的内容(注意,不包括文件夹本身),上传到ROOT文件夹当中(当然,在此之前你要把ROOT文件夹清空,这个方法我觉得是下下策,听说有能够更改主页面的方式,但是我尝试了很多都没有成功,这个方法占用了原来的tomcat的主页面。)


在之前的很多次尝试中,遇到了许多的问题,下面给出一些问题的部分解决措施(个人意见)

1.本地无法连接云数据库:在整体配置没问题的情况下(JDBC),如果你能连接你本地的数据库而连接不了云数据库,基本上就是两个原因,一个是JDBC的版本问题,另一个就是你的路径和密码是否是弄错了,检查一下这两个问题,然后在本地能够使用的话,上传到云服务器也是可以使用的。

2.本地编译运行没问题但是云服务器编译有问题:这个极大的可能是因为你java的jdk版本问题,比如,鄙人之前使用的jdk11,但是如果你跟着上面走的话,你就会发现云服务器使用的是1.8的jdk,版本差距太大,这样会导致一个问题,你在本地编译了之后,拷贝了out文件夹的内容,这个时候,你的java文件(或者说Servlet文件)是被高版本编译过的,低版本无法直接使用,但是因为其已经被编译过了,tomcat认为不需要编译了,然后就拿来直接使用,使用又用不了,就会出现你的servlet找不到,或者无法正常运行。如果你的静态页面出现了问题,那么可以考虑先把静态页面处理掉,如果静态页面没问题然后出现了本地和云服务器的差别,那么可以参考上面的内容。

3.使用Xftp无法直接链接到云服务器,使用native无法直接连接到云数据库:我把这类问题统称为“莽夫问题”,我之前写的内容里面提到了要先使用Xshell去链接,然后用Xshell的窗口里面的Xftp去连接云服务器,然后使用native去连接云数据库,至于为什么要称其为莽夫问题,就是如果你硬要去连接的话,还没有“激活”你就要使用;如果你的Xshell链接不上的话,可以去查看端口,是否放开了你需要的端口(云服务器的安全组配置)

4.还有一些很稀碎的问题,小问题,我个人认为每个人都会遇到某个或多个问题,但是可能这个问题对于别人来说很简单,所以多去看看别人的博客,讲解,去搜。CSDN,度娘,B站都是我们可以去学习的平台。


访问成功

如果你想要继续通过你的域名进行访问,你直接将你的域名解析到你的云服务器的公网IP底下就OK了。

心得

通过本次的实践,我学会了诸多搭建环境的小技巧,许多问题的解决方式,让这初春的风吹过我手下的键帽,扣响运维的大门,向着理想方向发展。

优秀作品

部分截图如下,站点仍在设计搭建当中,详细请直接访问(www.zhaojiadong.top)带宽比较小,所以加载图片的时候会比较卡,虽然鄙人已经使用了缩略图,但是目前没有找到别的方法,等后期加带宽访问的会更舒服一点哦。

图片.png

图片.png图片.png

图片.png






相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
JSON 前端开发 JavaScript
|
3月前
|
分布式计算 并行计算 安全
在Python Web开发中,Python的全局解释器锁(Global Interpreter Lock,简称GIL)是一个核心概念,它直接影响了Python程序在多线程环境下的执行效率和性能表现
【6月更文挑战第30天】Python的GIL是CPython中的全局锁,限制了多线程并行执行,尤其是在多核CPU上。GIL确保同一时间仅有一个线程执行Python字节码,导致CPU密集型任务时多线程无法充分利用多核,反而可能因上下文切换降低性能。然而,I/O密集型任务仍能受益于线程交替执行。为利用多核,开发者常选择多进程、异步IO或使用不受GIL限制的Python实现。在Web开发中,理解GIL对于优化并发性能至关重要。
52 0
|
18天前
|
SQL 安全 数据库
Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南
Web安全漏洞专项靶场—SQL注入—docker环境—sqli-labs靶场—详细通关指南
44 1
|
27天前
|
存储 安全 网络安全
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
|
27天前
|
前端开发 JavaScript
【Azure 环境】前端Web通过Azure AD获取Token时发生跨域问题(CORS Error)
【Azure 环境】前端Web通过Azure AD获取Token时发生跨域问题(CORS Error)
|
2月前
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
|
2月前
|
JSON 中间件 数据处理
实践出真知:通过项目学习Python Web框架的路由与中间件设计
【7月更文挑战第19天】探索Python Web开发,掌握Flask或Django的关键在于理解路由和中间件。路由连接URL与功能,如Flask中@app.route()定义请求响应路径。中间件在请求处理前后执行,提供扩展功能,如日志、认证。通过实践项目,不仅学习理论,还能提升构建高效Web应用的能力。示例代码展示路由定义及模拟中间件行为,强调动手实践的重要性。
42 1
|
1月前
|
网络安全 数据安全/隐私保护 iOS开发
【Mac os】如何在服务器上启动Jupyter notebook并在本地浏览器Web端环境编辑程序
本文介绍了如何在服务器上启动Jupyter Notebook并通过SSH隧道在本地浏览器中访问和编辑程序的详细步骤,包括服务器端Jupyter的启动命令、本地终端的SSH隧道建立方法以及在浏览器中访问Jupyter Notebook的流程。
50 0
|
3月前
|
存储 Apache 文件存储
在Apache环境下为Web网站增设访问控制:实战指南
在Apache服务器上保护网站资源涉及启用访问控制模块(`mod_authz_core`和`mod_auth_basic`),在`.htaccess`或`httpd.conf`中设定权限,如限制对特定目录的访问。创建`.htpasswd`文件存储用户名和密码,并使用`htpasswd`工具管理用户。完成配置后重启Apache服务,访问受限目录时需提供有效的用户名和密码。对于高安全性需求,可考虑更复杂的认证方法。【6月更文挑战第20天】
122 4
|
3月前
|
安全 Ubuntu 应用服务中间件
NGINX环境下实现Web网站访问控制的实战指南
在NGINX中设置基于IP的访问控制可提升网站安全性。步骤包括安装NGINX、备份配置文件、编辑`/etc/nginx/sites-available/default`,添加`allow`和`deny`指令限制特定IP访问,如`allow 192.168.1.100; deny all;`,然后测试配置并重启服务。成功后,仅允许的IP能访问网站,否则会收到403错误。这为Web安全提供基础保障,还可扩展实现更多高级控制策略。【6月更文挑战第20天】
291 3