网站搭建心得

简述

 经过将近一个月的奋战,终于将自己的个人博客网站成功发布,由于之前没有接触过网站搭建的项目,所以这一个月来也是收获不少,针对这个博客网站简单来说,搭建一个网站首先要先在本地搭建好项目工程成功运行起来,然后如果想在网络上发布还需要购买服务器、域名等相关服务并在服务器上配置好网站运行环境,再将网站部署到服务器中运行,最后将域名解析到对应服务器就实现了通过域名访问网站的目标,接下来详细介绍下相关流程。

建站相关环境

 这里只介绍从本地端到服务器端运行的流程,至于如何搭建本地项目这里不再赘述

  • 网站项目源码

  • 一个网站域名

  • 一台云服务器主机(本文平台选择的是腾讯云,系统为centos7)

  • jdk 1.8.0_221

  • tomcat 9.0.22

  • mysql 8.0

  • Winscp(Putty等软件也可以,目的只是像服务器发送文件)

  • Navicat(如果适应命令行操作不用也可以)

建站流程

服务器环境搭建

1. 重置服务器密码

 由于新购买的服务器一般都是没有密码的,所以为了安全及之后的Winscp等软件连接方便我们先重置下密码,腾讯云重置密码流程为:

实例控制台找到要作为网站服务器的实例→更多→密码/密钥→重置密码,最后登录服务器

2.环境安装及配置(文末有提供相关安装包)

1. 优先安装jdk

jdk的安装比较简单,首先把下载好的安装包移动到/usr/local文件目录下(通过Winscp等软件)并解压:

	cd /usr/local
	tar -zxvf 安装包文件名

解压好后对其进行重命名:

	mv 解压后文件名 jdk

配置系统环境变量:

  • 编辑配置文件:
 		vim ~/.bashrc
  • 在文档末尾加上:
  		export JAVA_HOME=/usr/local/jdk
 		export PATH=$PATH:$JAVA_HOME/bin
  • 执行配置文件:
 		source ~/.bashrc
  • 查看JAVA版本:
 		java -version

如果成功打印输出了JAVA的版本信息,配置成功,否则检查自己的配置流程,看哪里出了问题

2.Mysql数据库安装及配置

Mysql的安装可以参考如下网址:

https://www.cnblogs.com/goxcheer/p/9420460.html

ps.这里需要注意的是如果我们没有设置过端口,一般不用进行文中防火墙的操作,新的云服务器一般是默认关闭防火墙且开放全部端口的

3.Tomcat服务器安装及配置

Tomcat的安装可以参考如下网址:

https://www.cnblogs.com/yw-ah/p/9770971.html

至此,服务器端配置暂告一段落

本地端准备

1. 打包网站项目

 由于我的开发工具用的是IDEA,所以这里只介绍IDEA的打包方式,IDEA的打包war方式网上有很多种,我也是看了好多教程,频繁失败,到服务器Tomcat上总是解压不出来,也是菜的可以。。。所以这里我只说我成功打包的方法,其他的方式大家可以百度尝试下

修改pom.xml文件

  • 修改packaging标签下内容(如果没有packaging标签可以自己添加,放到dependencies标签内容上方即可):
 		<packaging>war</packaging>
  • 移除springboot中的tomcat依赖(由于我用的springboot开发框架内部集成了tomcat,所以要在服务器上运行必须先移除框架内的tomcat),在spring-boot-starter-web下方加上:
		<exclusions>
			<exclusion>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-tomcat</artifactId>
			</exclusion>
		</exclusions>
  • 移除后在dependencies标签中添加以下依赖:
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<scope>provided</scope>
		</dependency>
  • 在最下方build标签下的mavan打包工具的plugin标签内添加:
		<configuration>
			<finalName>打包后的包名</finalName>
		</configuration>

修改启动类,继承SpringBootServletInitializer,在main方法下添加:

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(启动类名称.class);
	}

在IDEA下方Terminal执行:

	mvn clean
	mvn package

看到BUILD SUCCESS字样后就可以在项目路径下的target文件夹内找到之前自定义包名.war的文件,找到后通过Winscp上传到服务器tomcat路径下80端口的webapp文件夹内

至此,本地端任务结束

服务器部署运行网站项目

1. 修改tomcat默认访问路径

在tomcat根目录下找到conf文件夹,修改文件夹内的service.xml文件:

  • 找到Host标签,在标签内部增加:
		<Context docBase="打包项目名.war" path="" reloadable="true" debug="0" privileged="true" />

进入webapp文件夹,将Root文件夹重命名,只要不是Root就行
然后进入tomcat根目录下面的bin目录,执行:

	./startup.sh

等到启动完成后,执行:

	curl localhost

稍等片刻后就可以看到自己项目主页的HTML代码,如果没有,检查自己的步骤有没有错误或遗漏,另外,此时也可以通过公网ip的方式访问自己的项目,在地址栏输入公网ip地址就可以打开项目的主页

2. 域名解析及配置

在管理控制台页面依次选择:云产品→域名管理→在要使用的域名后面点击解析→添加记录,根据提示选择或填写相关信息,未实名优先进行实名认证,成功后在我的域名页面可看到相关域名服务状态为解析

解析完成后,登录服务器进入tomcat80端口的根目录conf目录下修改service.xml文件:

	<Engine name="Catalina" defaultHost="localhost">

改为:

	<Engine name="Catalina" defaultHost="域名">

	<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

改为:

	<Host name="域名"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

进入根目录下的bin目录重启tomcat,之后便可通过直接输入域名的方式访问项目主页,但是如果我们的网站没有进行过备案,我们只能暂时用这种方式访问,要想一直可以通过域名访问就要进行网站备案,备案流程在云产品→网站备案下有很清楚的介绍,这里不再赘述

SSL证书申请

 网站部署完成后,我们在谷歌等浏览器的地址输入栏会看到不安全的提示,要想解决这个问题,我们就需要申请SSL证书进行配置,将http协议升级为https,SSL证书的申请非常简单:

云产品→SSL证书→申请免费证书→选择免费版证书→确定

填写相关信息后(推荐填写密码)便可获得证书,获得后点击下载,将下载后的文件解压

解压后找到tomcat文件夹,将jks文件传到服务器tomcat的conf文件夹下

修改service.xml文件:

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

改为:

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

	<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

改为:

	<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

并在下面增加:

	<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="conf/jks文件名" certificateKeystorePassword="申请SSL证书时输入的密码"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

在浏览器输入:https://域名,如果可以访问,配置成功进行下一步,否则检查步骤

修改web.xml文件,在末尾加上:

	<login-config>
		<!-- Authorization setting for SSL -->
		<auth-method>CLIENT-CERT</auth-method>
		<realm-name>Client Cert Users-only Area</realm-name>
	</login-config>
	<security-constraint>
		<!-- Authorization setting for SSL -->
		<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>

添加后重启tomcat,我们再通过域名访问就会发现http默认转换成了https,不安全也变成了小锁的图标

至此,网站的部署就完成了,之后如果没备份就去备份等待通过吧,在等待期间我们的网站如果无法通过域名访问还可以通过ip的方式进行访问

环境资源

链接:https://pan.baidu.com/s/1UBaPy9BbyaeTL5Ap32Ov5Q
提取码:11ms

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值