【教你搭建服务器系列】(3)部署静态网站到Tomcat服务器

news/2024/5/16 6:34:06/文章来源:https://blog.csdn.net/yudianxiaoxiao/article/details/109662030

我白嫖过的一些云厂商:

云服务器厂商学生身份新用户(非学生身份)
腾讯云学生特惠,1核2G5M宽带,仅需9元/1个月星星海SA2云服务器,1核2G首年99元(答主目前用的)
不知道还有没有券,可以试试
新客户无门槛代金券,价值高达2860元代金券
云产品限时秒杀,爆款1核2G云服务器,首年99元
阿里云精选云服务器1核2G 新人仅需87元/年
百度云1核2G 学生身份 9 元/1个月
华为云1核2G首年99元起,首月仅需9月【华为云-精选云服务器2折起】(偏贵)
七牛云对象存储服务每月10GB免费空间(用做云存储)

以上是答主我从学生时代到打工人薅过最便宜的云服务器,建议大家有学生身份或者新用户身份的都去试试。


上一篇文章【教你搭建服务器系列】(2)搭建服务器环境,安装JDK、MySQL、Redis、Tomcat、Nginx我们已经部署好了服务器的环境,那么接下来我们就可以部署我们的项目了。

本篇文章准备了一个静态的HTML网页,手把手从0开始教你部署一个网站。

本篇文章部署的网站成品: https://www.baimuxym.cn

本篇文章演示的是部署在Centos7、Tomcat8.0的服务器

1、准备项目

通过ftp把项目上传到服务器。上传到 /var/www/web/HaCresume

如果你没有网站,可以在这里找到:https://github.com/DogerRain/HaCresume

clone 到本地即可。

目录结构如下:

找到tomcat目录下的conf/server.xml文件,在末尾 标签之间添加上:

<Context path="" docBase="/var/www/web/HaCresume/" debug="0" reloadable="true"/>

表示Tomcat的根目录就是这个了,不再是webapps下面了。

找到tomcat目录下的conf/web.xml文件,修改首页:

<welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file></welcome-file-list>

表示我的 首页 就是 /var/www/web/HaCresume/index.html 了。

然后重启Tomcat,浏览器输入 http://81.71.16.134:8080/

即可访问了:

注意:如果你开启了Nginx,需要把Nginx的80端口放开监听,或者关闭Nginx

/usr/local/nginx/sbin//nginx -s stop

虽然现在访问没有问题,但是还有几个问题:

1、 网站提示连接是不安全的。

2、 能不能访问的时候不需要带端口?

3、能不能通过域名访问,就像 www.baidu.com 这样直接访问网站?。

如果你想深入的了解,那么就继续往下看。

2、域名注册、解析

一个域名只能对应一个ip地址,而一个ip地址可以对应多个域名。

现在我们已经有了IP,还需要买个域名。

腾讯云、阿里云都可以购买域名,以腾讯云为例,登入腾讯云后台,购买符合自己的域名。

以腾讯云新用户为例,一般只需要1块钱一年:

购买完成、然后实名认证(否则不能使用80端口),域名就可以绑定你的IP了,专业术语叫 解析,我这里购买的域名是baimuxym.cn

https://cloud.tencent.com/act/domainsales

解析:

以腾讯云为例,登入后台,点击解析

解析:**解析的意思就是 把这个域名和你的服务器IP绑定

点击 添加记录 ,你的域名还可以生成子域名,比如说 baimuxym.cn 是我的一级域名,默认分配了www.baimuxym.cn作为二级域名;www.a.baimuxym.cnwww.b.baimuxym.cn 也是可以的,表示三级域名。

我这里添加了一个 rain,rain.baimuxym.cn 就是我的二级域名了,如图所示:

自此 www.baimuxym.cn rain.baimuxym.cn 已经申请完成了,都是指向 81.71.16.134 这台服务器。

怎么知道有没有解析成功呢?我们ping一下就知道了:

C:\Users\Administrator>ping www.baimuxym.cn正在 Ping www.baimuxym.cn [81.71.16.134] 具有 32 字节的数据:
来自 81.71.16.134 的回复: 字节=32 时间=8ms TTL=54
来自 81.71.16.134 的回复: 字节=32 时间=8ms TTL=54
来自 81.71.16.134 的回复: 字节=32 时间=8ms TTL=54
来自 81.71.16.134 的回复: 字节=32 时间=13ms TTL=5481.71.16.134 的 Ping 统计信息:数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):最短 = 8ms,最长 = 13ms,平均 = 9ms

IP正是我的服务器IP,说明解析成功。

然后我在浏览器输入 http://www.baimuxym.cn:8080/ ,发现一样可以访问我的服务器了,和http://81.71.16.134:8080/是一样的效果。

3、修改Tomcat端口

http://www.baimuxym.cn:8080 访问还需要带端口,实在是麻烦。

我们知道Tomcat的默认端口是8080,那修改Tomcat额默认端口就行了。

找到tomcat目录下的conf/server.xml文件,修改端口:

    <Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />

重启Tomcat,输入 http://www.baimuxym.cn,就能访问了。因为http://默认就是 80 端口,而我的服务器80端口恰好就是Tomcat的端口,那么自然就能访问我的项目了。

要使用端口,需要先在后台先开放,不然无法访问。

4、申请SSL证书

我们访问自己的服务器,发现只能使用http://访问,还提示连接不安全,而使用 https:// 是无法访问的。

https://www.baimuxym.cn可以访问,而http://www.baimuxym.cn无法访问。

我们知道http:// 是不安全的,端口为80;而https:// 是安全的,端口为443。

要想使用https:// ,我们就需要有SSL证书,证书可以通过两个渠道获得:

  • 自己生成
  • 商用证书

在使用前,先把端口改了。

我们知道,8443是Tomcat **https://**的默认端口,就像8080是Tomcat的默认 http:// 端口一样。

先把Tomcat的8843端口改了:

80跳转到443:

<Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="443" />

8009跳转到443:

 <!-- Define an AJP 1.3 Connector on port 8009 --><Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

1、自己生成

虽然安全性不是那么高,但胜在成本低。

下面演示一下在Tomcat下使用jdk自带的工具生成证书。

1.1、 生成keystore证书

进入jdk的bin目录

执行:

keytool -genkey -v -alias testKey -keyalg RSA -validity 3650 -keystore ~/cert/HaC.keystore
  • alias: 别名 这里起名HaC.keystore
  • keyalg: 证书算法,RSA
  • validity:证书有效时间 3650,即10年
  • keystore:证书生成的目标路径和文件名,替换成你自己的路径即可,我定义的是 ~/cert/HaC.keystore
[root@VM-8-8-centos ~]# cd /var/www/web/jdk/jdk1.8.0_261/bin/
[root@VM-8-8-centos bin]# mkdir ~/cert
[root@VM-8-8-centos bin]# keytool -genkey -v -alias testKey -keyalg RSA -validity 3650 -keystore ~/cert/HaC.keystore
Enter keystore password:
Re-enter new password:
What is your first and last name?[Unknown]:  HaC
What is the name of your organizational unit?[Unknown]:  baimuTel
What is the name of your organization?[Unknown]:  yudianxx
What is the name of your City or Locality?[Unknown]:  guangzhou
What is the name of your State or Province?[Unknown]:  guangdong
What is the two-letter country code for this unit?[Unknown]:  86
Is CN=HaC, OU=baimuTel, O=yudianxx, L=guangzhou, ST=guangdong, C=86 correct?[no]:  yGenerating 2,048 bit RSA key pair and self-signed certificate (SHA256withRSA) with a validity of 3,650 daysfor: CN=HaC, OU=baimuTel, O=yudianxx, L=guangzhou, ST=guangdong, C=86
Enter key password for <testKey>(RETURN if same as keystore password):
Re-enter new password:
[Storing /root/cert/HaC.keystore]Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore /root/cert/HaC.keystore -destkeystore /root/cert/HaC.keystore -deststoretype pkcs12".

信息可以随便填,但是密码要记得,下面要用到。

1.2、 tomcat配置https

tomcat的conf目录下,打开server.xml文件

修改,加入刚才生成的证书路径,keystoreFile 你的keystore路径,keystorePass 是刚才生成时输入的密码。把Tomcat的默认的https://端口8443修改为443,不然你只能通过 https://www.baimuxym.cn:8443 访问了

 <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" keystoreFile="/root/cert/HaC.keystore" keystorePass="123456"/>
1.3、 设置http自动跳转到https

把http的请求都转发到https

找到tomcat目录下的conf/web.xml文件,末尾 加入:

 <!-- ====================自动跳转——start ===================== --><security-constraint><web-resource-collection ><web-resource-name >SSL</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection>                             <user-data-constraint><transport-guarantee>CONFIDENTIAL</transport-guarantee></user-data-constraint></security-constraint>
<!-- ====================自动跳转——end ===================== --><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file></welcome-file-list>

重启tomcat,访问我的域名。 https://www.baimuxym.cn

发现是提示证书存在安全问题 的,点击继续浏览 但是仍然 可以访问。

导出证书:

[root@VM-8-8-centos apache-tomcat-8.0.53]# keytool -exportcert -rfc -alias HaC -file  ~/cert/HaC.cer -keystore  ~/cert/HaC.keystore -storepass 123456      Certificate stored in file </root/cert/HaC.cer>

给浏览器安装证书:

在ie浏览器下,进入“Internet选项”-“内容”-“证书”-在“受信任的根证书颁发机构”中导入tomcat.cer文件。

浏览器 一样提示 不安全的连接

没办法了,浏览器也无法信任自定义的证书。

我看到网上也有人 添加了受信任的证书后就提示安全了,我这里试了确实不行,希望有小伙伴告诉我到底可不可以。

可能是以前可以,现在不行了?

2、公开可信认证机构

keyken生成的不行,那就用商用的。

但商用的SSL实在是太贵了,比如说赛门铁克、亚信,个人一般都难以承受;

let’s encrypt 是一个免费的SSL组织,申请后有3个月的期限,到期可以续杯。

云厂商也可以申请证书,只要你购买了它们的域名。

2.1、申请证书

腾讯云 可以免费申请 1年的免费证书(到期可以继续 续),我这里使用腾讯云为例子:

申请完毕,点击下载 , 解压看到这个压缩包有几种服务器的不同类型证书。

img

我们是Tomcat的服务器,就把Tomcat的.jks文件证书上传到服务器。

2.2、tomcat配置https

替换server.xml的jks证书路径和密码即可:

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"clientAuth="false" sslProtocol="TLS" keystoreFile="/root/cert/www.baimuxym.cn.jks" keystorePass="i24vj6841f1"/>
2.3、设置http自动跳转到https

把http的请求都转发到https:

找到tomcat目录下的conf/web.xml文件,末尾 加入:

 <!-- ====================自动跳转——start ===================== --><security-constraint><web-resource-collection ><web-resource-name >SSL</web-resource-name><url-pattern>/*</url-pattern></web-resource-collection>                             <user-data-constraint><transport-guarantee>CONFIDENTIAL</transport-guarantee></user-data-constraint></security-constraint>
<!-- ====================自动跳转——end ===================== --><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file></welcome-file-list>

然后重启Tomcat。访问 https://www.baimuxym.cn

如果不生效,可以更换浏览器访问试试

现在就不会提示证书不安全了。完美!

到这里,一个项目就已经部署完成了,但只是一个静态网页。

部署JavaWeb项目,也是一样的操作,只不过要结合Redis、MySQL等等。

体验地址:

  • https://www.baimuxym.cn
  • https://rain.baimuxym.cn

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

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

相关文章

【教你搭建服务器系列】(4)部署静态网站到Nginx服务器

我白嫖过的一些云厂商&#xff1a; 云服务器厂商学生身份新用户&#xff08;非学生身份&#xff09;腾讯云学生特惠&#xff0c;1核2G5M宽带&#xff0c;仅需9元/1个月星星海SA2云服务器&#xff0c;1核2G首年99元&#xff08;答主目前用的&#xff09; 不知道还有没有券,可以…

【教你搭建服务器系列】(10)利用Docsify搭建个人笔记网站

写文档的工具非常多&#xff0c;但是作为程序员&#xff0c;大部人还是偏爱Markdown的&#xff0c;有时需要写一份开发文档&#xff0c;以供自己或者他人查看&#xff0c;那如何把 Markdown 文件转换成文档呢&#xff1f; docsify 就可以做到了&#xff0c;docsify 可以直接加…

【教你搭建服务器系列】 (11)使用GitHub+Hexo搭建自己的网站、博客

我白嫖过的一些云厂商&#xff1a; 云服务器厂商学生身份新用户&#xff08;非学生身份&#xff09;腾讯云学生特惠&#xff0c;1核2G5M宽带&#xff0c;仅需9元/1个月星星海SA2云服务器&#xff0c;1核2G首年99元&#xff08;答主目前用的&#xff09; 不知道还有没有券,可以…

11个前端工程师必备的网站

好多小伙伴有疑问&#xff0c;就是说有哪些值得去关注的前端网站&#xff0c;我知道大家可能都苦于找不到一些有价值的,还有值得信赖的网站去学一些比较货真价实的前端技术。生怕有哪些水文或者是一些乱七八糟的网站&#xff0c;把咱们的这个知识给误导了。这里呢我准备了几个我…

2020年,给你7个程序员接私活必备网站!

2020互联网圈不好混&#xff0c;不是每个公司都能像蚂蚁金服一样这么大气&#xff0c;不少公司今年因为疫情已经开始裁员&#xff0c;不要抱怨&#xff0c;加油干就完事了&#xff01; 今天给大家推荐几个赚钱养家的好渠道&#xff0c;一起来看看吧&#xff01; 1、程序员客栈…

wordpress js 运行短代码_WP模板开发中,怎样给wordpress网站的文章,添加点赞功能?...

我们在网上浏览某些网站的文章时&#xff0c;在文章的结尾处&#xff0c;都会有一个点赞的按钮&#xff0c;如果觉得文章内容非常不错&#xff0c;就可以点击这个“点赞”按钮&#xff0c;给之篇文章进行点赞一下。在wordpress网站的模板主题开发中&#xff0c;我们可不可以也为…

java如何制作浪漫表白界面_表白网页在线制作详细教程-我要表白网-最浪漫的表白网页在线生成网站...

如何制作表白网页&#xff1f;如何提取背景音乐&#xff0c;图片链接呢&#xff1f;不要着急&#xff0c;答案全在这里 …编辑文字看到这个页面之后我们就开始制作只属于自己的表白网页了~把鼠标放到 点此编辑 这里就可以编辑文字了时间比如你跟TA是3月22日恋爱的&#xff0c;那…

python 爬带端口的网站_5分钟带你用Python爬完《剑来》小说(附完整代码)!

Python资源共享群&#xff1a;484031800思路&#xff1a;step 1 &#xff1a;请求《剑来》小说站点&#xff0c;获取两个东西小说名称——在Python程序同目录下&#xff0c;以小说名称创建文件夹每章小说的链接地址step 1 对应代码中的 get_url()函数 &#xff0c;该函数还包括…

php与apache整合404,PHP网站从Apache转移到Nginx后产生404错误的原因和解决办法

这是转载的别人的解决方法&#xff1a;原案例分析&#xff1a;1、原来的网站在wamp环境下搭建完成&#xff0c;一切正常&#xff0c;上传到虚拟主机环境为lnmp&#xff0c;结果访问时可以打开主页&#xff0c;然后点其他页面全部报404错误&#xff1b;2、经分析得出原因&#x…

iis添加网站外网无法访问_2秒钟实现在IIS上面新建站点并发布Web应用

>> 点击上方 懒人MES 关注我们之前有写过一篇"教你两分钟使用ASP.NET CORE创建并发布一个Web应用“&#xff0c;今天分享一篇Powershell实例“只需2秒钟实现在IIS上面新建站点并发布Web应用”。在过去的一年工作中接触到很多服务器上应用迁移的任务&#xff0c;其中…

mysql 替换网址_mysql语句:网站批量http替换https技巧

网站开启https非常简单&#xff0c;先申请一个ssl证书&#xff1b;DigiCert 免费版 SSL证书可以通过阿里云、DNSPOD进行申请。通常30分钟左右即可申请成功&#xff0c;免费时间一年&#xff0c;第二年可以续签。将申请成功的证书安装在服务器端&#xff0c;成功开启SSL后&#…

php gb2312网站源码,闻名 PHP 企业网站系统 weenCompany v5.3.0 简体中文 GB2312

weenCompany闻名企业网站系统(免费开源)是一个功能强大, 使用简单的中英文企业智能建站系统, 您只需要一些基本的计算机知识就可以利用此系统完成中小型企业网站的建设; 是低成本企业网站架设方案之首选CMS系统, 也适合建设个人网站。weenCompany闻名企业网站系统功能&#xff…

前端设计类网站汇总

设计前端类网站汇总 一、素材类 1、图片 其实国内对图片版权保护这块的意识不是很够&#xff0c;在免费的素材库和收费素材库都能找到同一张图片&#xff0c;但作者署名却都不一样。所以小编现在基本不用国内这些图库网&#xff0c;跟大家推荐几个免费又没有版权纠纷的图库网站…

阿里云ecs怎么搭建网站

一、首先在阿里云开通一台服务器 二、开通服务器之前最好确定你的服务器用linux还是windows&#xff0c;这里小编推荐大家用linux的服务器&#xff0c;因为linux服务器稳定而且性能也比windows好&#xff01; 三、安装网站环境 小编推荐宝塔面板&#xff0c;比较方便快捷&#…

图片优化_怎么优化图片?网站图片优化方法有哪些?

在搜索引擎算法不断的进步&#xff0c;算法不断的升级变化的情况下&#xff0c;很多站长纷纷表示无路可走&#xff0c;其实有时候换一种角度想一想&#xff0c;之所以搜索引擎实施一定的打压&#xff0c;那也正是说明了&#xff0c;做SEO还有别的路可走。为何有人表示说无路可走…

file 选择的图片作为背景图片_我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!...

虽然不能出门&#xff0c;但是我们可以利用python来带领大家出去旅游&#xff0c;今天小编就带领大家利用python和Flask实现旅游的小目标&#xff0c;让大家足不出户&#xff0c;就能晒出自己的旅游照。01功能简介我们今天实现的小功能就是&#xff0c;利用python来提取我们的人…

debian8 php7,Debian8环境安装Apache/PHP7/MariaDB网站环境

一、添加PHP7数据源以及更新系统安装好的Debian后还不能使用sudo,需要使用root用户登陆后安装sudo命令apt-get install sudo添加PHP7数据源以及更新系统echo"deb http://repos.zend.com/zend-server/early-access/php7/repos ubuntu/" >> /etc/apt/sources.lis…

php网站iis7.5 session,IIS 7.5 asp Session超时时间设置方法

IIS 7.5 asp Session超时时间设置方法有时候在web.config设置sessionState 或者类文件里设置Session.Timeout&#xff0c;在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了超时时间那么我们如何设置超时时间呢&#xff1f;1.IIS图形界面设置IIS6 在IIS里面右键点…

中国程序员开发的神奇网站:变量命名神器,这个有点意思!

有一种痛&#xff0c;不是程序员可能不懂&#xff0c;但如果是程序员一定懂&#xff0c;那就是给变量或函数命名。回想一下起名字这条路&#xff0c;刚开始学某个编程语言的时候&#xff0c;26 个字母还能解决问题&#xff0c;26 个不够还能用字母与数字的组合?。但是&#xf…

java相关技术网站,看完这一篇你就懂了

灵魂发问&#xff1a;我们为什么要学习SpringBoot&#xff1f;&#xff1f;&#xff1f; 官方对 Spring Boot 的定位&#xff1a;Build Anything&#xff0c; Build 任何东西。Spring Boot 旨在尽可能快地启动和运行&#xff0c;并且只需最少的 Spring 前期配置。 同时我们也来…