创建网站:如何搭建自己的网站 2024-04-25 17:49:39 0 0 一、购买服务器 首先,得有一台 24 小时无间断运行的服务器,可以选择 Windows 服务器或者 Linux 服务器,Windows 服务器通过 IIS 部署,这个不算复杂,网上可以搜到一大堆教程,本文主要讲述 Ubuntu 服务器下部署 Vue 项目。 二、重置实例密码、设置密钥对 可以选择两种方式去访问服务器,一是通过实例密码,二是通过密钥对。 三、域名购买、备案、解析 买到服务器之后,就拥有属于自己的一片空间了,但是一长串的 IP 不容易记住怎么办,两个办法:①少熬点儿夜,提高记忆力。②挑选一个自己喜欢的域名来代替 IP。大陆的域名都是需要备案的,浙江省的备案大概需要一周左右时间审核,如果身份证上地址不是浙江省,则需要另外提供暂住证明。备案通过之后,就可以解析域名了,一个一级域名可以解析出很多二级域名,一个二级域名可以解析出很多三级域名,依次类推,每一个域名都可以绑定一个服务器公网 IP。 四、SSL 证书 使用 IP 或者普通域名访问时,浏览器一般都会出现网站不安全的提示,那怎么解决呢,可以使用安装 SSL 证书实现 https 加密访问。可以使用腾讯云的一键安装功能,也可以自己手动安装,详情见另外一篇博客:Nginx 服务器 SSL 证书安装部署_acheding的博客-CSDN博客 五、登陆服务器 可以下载 SSH 客户端软件远程登陆服务器实例,如 Putty 等,Port 选 22。 通过第二步重置的实例账号密码登陆,密码输入是不可见的。 六、服务器下载 nginx 1.切换至 root 用户。sudo su root或者sudo -s 2.下载。apt-get install nginx 3.查看 nginx 是否安装成功。nginx -v 4.启动 nginx。service nginx start 5.验证。 启动后,在网页重输入 IP 地址或域名,即可看到 nginx 的欢迎页面。至此 nginx 安装成功。 七、打包 Vue 项目 yarn build || npm run build 八、上传项目 上传打包后的 dist 文件至服务器,这里可以下载 FileZilla 等可视化文件传输工具。 九、修改 nginx 配置 vim /etc/nginx/sites-enabled/default 进入 nginx 配置文件,vi也可以,点击 a或者i 进入编辑,修改 server_name 为 IP 或域名,修改 root 为 dist 文件的路径。因为 Vue 为单页面应用,所以刷新之后会报 404,就需要设置重定向一下:try_files $uri $uri/ /index.html 。编辑完后点击 esc,然后 :wq 保存退出 记得检查一下这个端口号有没有添加到服务器防火墙的规则里。 十、报错处理 find / -name error.log 寻找 nginx 的报错日志,查看日志,如果出现 “Permission denied” 说明 nginx 权限不够,vim /etc/nginx/nginx.conf 将第一行的 user www-data 修改为 user root 即可。 十一、后端 这个时候前端基本上就完成了,不妨再继续鼓捣一下后端接口。 1.本地下载安装 JDK、JRE、IDEA,配置环境变量。 2.新建 demo 项目,依赖勾选 Spring Web,在 com.example.demo 下创建 controller 文件夹,添加 Java Class,在类外边写上 @RestController 注解,表明它是一个返回字符串的控制器,接着用 @RequestMapping 注解写一个 /hello 请求,运行并打开 localhost:8080/hello 验证一下。 3.使用mvn clean package命令清理、打包成 jar 文件,在生成的 target 文件夹下。 4.在 Ubuntu 上通过 docker 部署 jar 包,可以在第一步的时候直接购买自带 docker 基础镜像的服务器。同第八步上传 jar 包到服务器指定文件夹,在该文件夹下创建 DockerFile 文件,将以下内容复制至文件中:FROM java:8MAINTAINER testADD demo-0.0.1-SNAPSHOT.jar demo.jarEXPOSE 8080ENTRYPOINT ["java","-jar","demo.jar"] 第一行表示拉取一个 JDK 为 1.8 的 docker 镜像,第二行表示作者名字为 test,第三行表示上传的 jar 包名字以及替换的名字,第四行表示容器暴露的端口,第五行表示容器启动之后启动的命令,即启动 jar 包。 5.构建镜像docker build -t my/demo .。最后的 . 表示 Dockerfile 文件在当前目录下,my/demo 为构建之后镜像名称。 6.运行容器docker run -d --name demo -p 8080:8080 my/demo。 7.查看容器docker ps,查看镜像docker images。 十二、请求接口、配置跨域 可以在后端配置,Vue 项目中配置或者 nginx 中配置,这里为 Vue3 下的代码。<script setup>import { reactive, onMounted } from "vue";import axios from "axios";const state = reactive({ springBoot: "",});onMounted(() => { getSpringBoot();});const getSpringBoot = async () => { let res = await axios.get("/hello"); state.springBoot = res.data;};</script><template> <h1>{{ state.springBoot }}</h1></template><style scoped></style> import { defineConfig } from "vite";import vue from "@vitejs/plugin-vue";// https://vitejs.dev/config/export default defineConfig({ plugins: [vue()], server: { port: 3333, // 打开的端口号 open: true, // 运行时打开浏览器 proxy: { "^/hello": { target: "http://xx.xxx.xxx.xx:8080/", //接口的前缀 }, }, },}); 收藏(0)