半亩花草 发表于 2024-7-25 09:19:48

创建网站教程:服务器环境搭建(MySQL+Jdk+Nginx...),前后端项目部署(技

本文写于1年前,当时建站经验不够丰富,文章逻辑杂乱。颠末一年的沉淀,已帮助近20人搭建了属于他们自己的网站,总结出了颇多经验,带着这些经验我希望能重写这篇文章,帮助更多的小搭档,搭建属于自己的网站。
本文后端和前端的技术栈重要是:SpringBoot+Vue。重要以我部署的个人网站:www.pbjlovezjy.com 为例,来讲解一下如何搭建网站。
https://img-blog.csdnimg.cn/direct/c7f35ab9396245f2914f5e1b2e00c087.png
我花了5天时间,开发了一个在线学习的小网站-CSDN博客
本文重要分为以下四个部分讲解:
一、服务器准备
1.购买服务器(你起首要有一个自己的云服务器)。
2.远程登录服务器(登录到服务器上举行基础配置,为项目运行搭建环境)。
二、运行环境搭建
3.安装必备软件(安装Jdk、MySQL、Nginx、Redis、Tomcat等软件)。
三、项目部署
4.运行后端文件(这里以Java项目为例,在IDEA中先通过Maven把项目项目打成jar包,然后放到服务器中输入下令,项目即可作为一个历程被运行)。
5.运行前端文件(这里以Vue项目为例,在VsCode中输入npm run build将前端项目打包,部署到服务器的Nginx上)。
四、进阶篇
重要讲解:1.购买域名(平时我们访问网站是通过域名,如:www.xxxx.com)。2.域名解析(把域名映射到你的网站前端,这样访问域名才会跳转到你的网站)。3.存案(存案的目的是让网站能通过域名访问)。4.申请SSL证书(让网站变安全,不然不安全状态会被限定访问,给用户欠好印象^_^)。
【本文全链路讲解如何部署一个网站,喜欢的朋友记得点赞+收藏,如有建站方面的困惑欢迎加文末微信咨询(有偿)】
一、服务器准备

1.购买服务器

起首看地域参数,要选择离使用服务器的人近的地域。如果是你个人使用就选离你近的地域。像我在厦门,深圳离我迩来,我就选深圳。
https://img-blog.csdnimg.cn/direct/0eea45ea1a484dc5a286be87996de81c.png
给大家表明一下一般的2核2G的服务器是什么意思:
2核指的是CPU的内核数,2G指的是内存的容量,一般这种服务器的存储容量是40G,以是整体来说搭建一个个人网站是绰绰有余了!
https://img-blog.csdnimg.cn/direct/3cc5ebe601074e9b945dc9120e166071.png
推荐操纵系统选择Linux版本,像我喜欢用Ubuntu 18(Ubuntu可以理解为Linux的可视化桌面版本)。
原因是:Linux网上教程很多,出了题目能查资料解决,用windows的话偶然候找不到资料,解决不了题目。
买服务器可以去阿里云大概腾讯云看看,有门生优惠:
https://img-blog.csdnimg.cn/3b37081a13b44636a6545f8f4bb0504d.png
迩来阿里云出了一个99元服务器,感觉很nice。
2.远程登录服务器

 可以用SSH连接终端去连接: 
https://img-blog.csdnimg.cn/direct/1f804049ac36470ca1ad8cd0b8ce7d54.png
也可以用mobatxterm终端访问:
https://img-blog.csdnimg.cn/direct/3129b417e83047558480bff36d172c4d.png
页面如下,左边是文件区,右边就是下令行:
https://img-blog.csdnimg.cn/direct/68c7f56e799f4bcdaab6e164e9090897.png
如果暗码有误大概不知道暗码可以通过下面方法举行重置:
https://img-blog.csdnimg.cn/direct/fc27528115ad44c5822d8cdcf0ded053.png
https://img-blog.csdnimg.cn/direct/b8fafec5177047f2b0da10bfdedf4c83.png
如果远程登录不上服务器,可以实行用workbench,方法如下:
点击远程连接:
https://img-blog.csdnimg.cn/direct/44dd2f1681f540eeb44992fd4812f7a1.png
选择workbench连接:
https://img-blog.csdnimg.cn/direct/3c06450091f74870a5d4fa7a26442480.png
然后用户名:root,暗码输入刚刚自己重置的。
 然后就可以正常进入到Workbench的界面:
https://img-blog.csdnimg.cn/813cbe60cc764f2594a413ab0b5ddd21.png
出错:如果登录不乐成:
https://img-blog.csdnimg.cn/d4f366dbcdaf4aeeb665ba473c69f352.png
进入VNC连接实例,遇到一个题目如何使用VNC?
起首要查看自己实例的操纵系统:
https://img-blog.csdnimg.cn/bad9d2b501dd4295be8cc53e1a819107.png
如果是Linux系统,只需要在用户名输入:root,然后输入自己的暗码即可:
https://img-blog.csdnimg.cn/752acae15d874387b42ca029b3816541.png
 输入下面这行代码:
cat /etc/ssh/sshd_config  可以看到这行的设置是:no,以是我们要更改为:yes
https://img-blog.csdnimg.cn/8f47254be2784f128f9a52bce98711a3.png
先输入下面这行代码:
vi /etc/ssh/sshd_config 按i键进入到插入模式,找到PasswordAuthentication,将no删除,写上yes:
https://img-blog.csdnimg.cn/10b8bce5be504621aa4d8c5e18f2908e.png
然后按Esc键,输入:
:wq  然后重启SSHD服务:
service sshd restart 二、运行环境搭建

1.下载配置nginx

网上说可以用yum来下载
yum install nginx 我试了是失败的,我直接用apt install nginx举行下载。
下载完后直接输入
nginx  这个时候可以直接通过公网ip访问到nginx:
https://img-blog.csdnimg.cn/direct/222eaff4bc4c40349d251dd9a0d05025.png
然后你到/etc/nginx的文件夹下,输入vi nginx.conf,去看看具体配置:
https://img-blog.csdnimg.cn/direct/b97c4652f8934d9893866c24820610e8.png
重要是看root,找到后面那个文件:
https://img-blog.csdnimg.cn/direct/d5c507a04eef48229a09c324bb6ea922.png
可以看到在html下有一个index.html,这个index.html的内容就是你用公网ip去访问网页时出现的内容:
https://img-blog.csdnimg.cn/direct/766143415b3541ebbe315f7999e192c5.png
如今我们在桌面上创建一个home.html文件,把下面准备好的内容复制进入:
<!DOCTYPE html>
<html>
<head>
    <title>我的HTML页面</title>
</head>
<body>
    <h1>欢迎来到我的HTML页面</h1>
    <p>这是一个示例HTML页面。</p>
    <p>你可以在这里添加更多的内容。</p>
</body>
</html>
就像下面这样: 
https://img-blog.csdnimg.cn/direct/25872e37b71a455181d464d827c0dd2d.png
然后访问:公网ip/home.html就可以看到内容了: 
https://img-blog.csdnimg.cn/direct/0ebc5b8126c94f19a730b204a24942b6.png
我一开始出现了一个小题目,哦的nginx.conf文件下没有关于root的配置,其实它是放到了etc/nginx/sites-available下的default里,这就很坑。
https://img-blog.csdnimg.cn/direct/ca89b41537fa40f4bd01040f2ba3ddb1.png
之前我看网上说不停以为html文件是存储usr/share/nginx/html下,这其实是错误的,存储的地方其实是var/www/html下:
https://img-blog.csdnimg.cn/direct/3c7621558205401eb6ed66591dbdf20b.png
上面这一点希望初学者注意。
Nginx—在linux的ubuntu系统上的安装使用_ubuntu nginx-CSDN博客
2.下载配置jdk

网盘链接如下:https://pan.baidu.com/s/15JpnE9LLTQy92L1ZeuUN9A?pwd=1234 
提取码:1234
先在usr/local下面创建jdk文件夹:
mkdir jdk 然后把网盘里的jdk文件放到usr/local/jdk目次里:
https://img-blog.csdnimg.cn/direct/5507844fb00a4e57a72378f958b7c33f.png
然后输入下面下令举行解压:
tar -zvxf jdk-8u171-linux-x64.tar.gz 解压后会出现jdk1.8.0_171这个文件: 
https://img-blog.csdnimg.cn/direct/365c87bccbb7485a91b5716063f97a4b.png
输入下面代码,进入配置文件:
vim /etc/profile 在文末补上下面这5行代码:
#set java environment
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_171
export JRE_HOME=/usr/local/jdk1.8.0_171/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH https://img-blog.csdnimg.cn/direct/e1ab38ecd43f482facac30cb82dabda8.png
:wq!退出来后,用下面下令见效:
source /etc/profile java -version乐成出现java版本。
完备如下:
https://img-blog.csdnimg.cn/direct/d8ce3a3fa1a74d2baf93b16545b01f6e.png
我们也可以写一个java步伐稍微验证一下(选做):
vim haha.java 代码如下: 
https://img-blog.csdnimg.cn/direct/af18d64e3591467bb2c85b3e8d6f8337.png
先javac举行编译,然后用java haha就可以执行函数输出内容了:
https://img-blog.csdnimg.cn/direct/73f16ce83d1d42aeb62d8202f619a1fe.png
3.安装Mysql

参考下面这篇博客,举行数据库安装:
数据库的使用也是参考下面这篇博客:
Ubuntu Mysql 安装下载最新教程,附具体图解,持续更新_ubuntu下载mysql-CSDN博客
要确保mysql在开始时被卸载干净,参考下面博客:
【云服务器】阿里云服务器部署web项目前的准备(安装Nginx,jdk,Tomcat,MySQL)_阿里云怎么部署tomcat-CSDN博客
mysql可以正常启动: 
https://img-blog.csdnimg.cn/direct/8cb9ef3842f34567a3450ce846761566.png
如果想要通过Navicat访问mysql数据库需要一些操纵:
起首要明确一点,服务器里的mysql初始设定是只能监听本地回环的地址(127.0.0.1),这种“自闭环”的模式导致远程的主机不能直接访问Mysql服务器,只有服务器自己能访问这个mysql,这也是一开始没能连上数据库的原因。
接下来几个步调帮你用Navicat连接上数据库:
1.起首关闭服务器的防火墙:sudo ufw disble
2.然后要开启服务器的安全组端口3306
https://img-blog.csdnimg.cn/direct/c4675f9009b54d4ca6ac589dd5c47f8e.png
3.进入到mysqld.cnf文件里:
vim /etc/mysql/mysql.conf.d/mysqld.cnf 更改bind-address的值,改为0.0.0.0:
https://img-blog.csdnimg.cn/direct/9bc5b753c2d34f2cb29a1e5ddfe902b6.png
这样可以破坏自闭环条件,使得外部的所有计算机可以访问服务器里的mysql,如果只想某一台计算机可以访问,也可以只写需要访问的计算机的ip地址。
4.下面这步是最为重要的,要赋予某个数据库用户名(比如root)以通行的权限:
GRANT ALL PRIVILEGES ON *.* TO '可以放行的数据库用户名'@'mysql所在服务器的ip地址' IDENTIFIED BY '密码' WITH GRANT OPTION;
 下面是一个例子:GRANT ALL PRIVILEGES ON *.* TO 'root'@'120.78.194.33' IDENTIFIED BY '@Panbinjie201314' WITH GRANT OPTION;
此中root是数据库里的用户名是mysql -u root的root。
120.78.194.33是我的服务器ip,固然不是真的ip。
然后暗码要求一定要包含特殊字符比如@,然后是大写字母比如P,然后是小写字母比如anbinjie,然后是数字201314,这四者缺一不可!固然这个暗码不一定和你数据库的登录暗码相同。
5.Navicat点击新建连接,要选择对应运营商的对应数据库类型:
https://img-blog.csdnimg.cn/direct/2250480a12ac41e58a36edfb626933a9.png
特殊注意下面的暗码,填的是第4步设置的那个暗码,如果和数据库暗码不同,万万不能填数据库的暗码:
https://img-blog.csdnimg.cn/direct/ca0abf0292394745a70e4dbebd643212.png
https://img-blog.csdnimg.cn/direct/0655ceb4909940599cb3bc7d3f1eb956.png
然后就连接乐成了:
https://img-blog.csdnimg.cn/direct/f9117fec48ae45f59d3aa8f954b58d0b.png
如果出现像下面的Access denied那么阐明Mysql数据库是没题目的,肯定是上面权限配置有题目。
https://img-blog.csdnimg.cn/direct/80fa6540b9b5494190bb571a37384f44.png
如果出现的是其它错误,那你就要好好检查一下mysql数据库是不是没题目的。
三、项目部署

1.Java项目打包

在IDEA右侧的Maven下的Lifecycle中点击package举行项目打包
https://img-blog.csdnimg.cn/direct/2478e0037ac5463693a382a1ca71224f.png
打包后的文件会在target文件夹内里:
https://img-blog.csdnimg.cn/direct/faceb8a511a64eb39d3eaa2a7c24a877.png
推荐从外部文件夹复制:
https://img-blog.csdnimg.cn/direct/649bf078f710455a95bcbca36dc35b78.png
2.Vue项目打包

在Vue项目中在控制台输入:npm run build 举行项目打包。
https://img-blog.csdnimg.cn/direct/14a24fada0f74d2e953f751b857fc1b5.png
打包乐成后会在目次下出现一个dist文件:
https://img-blog.csdnimg.cn/direct/587d2974ddf44d748a1243588806bc1d.png
从外部文件夹中复制:
https://img-blog.csdnimg.cn/direct/4deca1fdb8f14240b5c9293f1491489d.png
3.发起

发起大家像我一样做好版本控制,
https://img-blog.csdnimg.cn/direct/3246a61ea05e46c3a208d8e15faccadb.png
https://img-blog.csdnimg.cn/direct/ed7dd8b25c224cbe87b662eb2c37eb13.png
4.后端部署

输入下面的下令可以看当前服务器中正在运行的Java步伐:
ps -ef | grep java 今天是5月21可以看到我2月24日有运行一个后台步伐: 
https://img-blog.csdnimg.cn/direct/9f9ba095ec5246d489bea82b68e59856.png
 我输入kill+PID号 将其停止:https://img-blog.csdnimg.cn/direct/f8b20cc148234887914766fefa397c2e.png
把准备好的jar包放到喜欢的目次下,我一般喜欢放在/usr/local 下面:
https://img-blog.csdnimg.cn/direct/c52838b2a8744e98829a8fca8c758168.png
输入下面的下令可以在前台执行Java文件,注意要把/path/to/your/project.jar替换成你自己的:
java -jar /path/to/your/project.jar 如下图启动的过程和在IDEA里是一样的,你以致可以看到我这里报了个数据库连接的错误,这样可以方便调试排查题目,等排查完题目再转为后台运行: 
https://img-blog.csdnimg.cn/direct/13ceb2529cc443418509fa1f32452993.png
Ctrl+Z可以停止,这里说一下,我刚刚在数据库迁徙的时候遇到的是字符格式编码的题目,可以在下面这个地方修改:
https://img-blog.csdnimg.cn/direct/7426e38cc0ad44998dbab7dd0948aaec.png
改完BUG之后重新运行,可以看到项目已经运行乐成:
https://img-blog.csdnimg.cn/direct/be82e9cf1aaa402d9ddcb350bc50148f.png
在项目能乐成运行之后,输入下面的下令可以在后台执行Java文件,注意要把/path/to/your/project.jar替换成你自己的:
nohup java -jar /path/to/your/project.jar & 如下图我输入完运行jar包的代码,项目就开始在后台运行: 
https://img-blog.csdnimg.cn/direct/9ba7f18e31cb4cf6978c20a84d673a56.png
nohup java -jar /usr/local/blog-server-0.0.1-SNAPSHOT.jar & 5.前端部署

我习惯把前端文件放到/home/html 这个路径下,只需要把文件拖到目次下即可:
https://img-blog.csdnimg.cn/direct/f939a601900641f6b0fdd45472851e11.png
如下图输入nginx -t 可以看到文件编译没题目:
https://img-blog.csdnimg.cn/direct/7e98830055b448adac20a784b34577a7.png
然后输入nginx -s reload相当于运行这个前端项目:
https://img-blog.csdnimg.cn/direct/a0dfdbbd521a4aa0b9d8396a5abe9733.png
此时就可以通过域名访问网站了:
https://img-blog.csdnimg.cn/direct/a0ecfc3e1ab940148ce5c5fda68301ba.png

二、进阶篇

第1步:购买域名

先在阿里云企航界面中搜索想要的域名,如果未被注册可直接购买。
阿里云域名查询与购买界面
https://img-blog.csdnimg.cn/direct/6f55cbe8bf204eb38fa56dff1df67fa9.png
https://img-blog.csdnimg.cn/direct/7fc02b8b0cfe42628bd1828a1bba3b0c.png
第2步:存案

        如今的网站都必须要颠末存案才气够被搜索到。在申领到域名之后,差不多要过个1-2天才气举行存案,因此可以先把域名和服务先准备好。
        以阿里云为例,点击ICP存案按照指定步调操纵即可举行存案:
https://img-blog.csdnimg.cn/25cc41da1fb74debb4d731f1cb87d0ad.png
        存案的流程一般是:个人先填写一份个人信息,包括身份证验证和个人身份验证等流程,然后阿里云举行审批(差不多当天即可完成),然后会发短信我们只需要验证即可,然后管局会举行审核...整个流程下来差不多要10天左右
https://img-blog.csdnimg.cn/17322069c98444eba0f90c3037dbf700.png
以是大家刚入门的时候,可以在购买域名后事先举行存案,然后逐步再研究如何使用服务器,部署网站。
第3步:域名解析

存案完之后,接下来就需要解析域名,鼠标放在左上角,点击域名
https://img-blog.csdnimg.cn/baa8c0c534d64d5c9dccc6b9507ec54e.png
点击解析:
https://img-blog.csdnimg.cn/52913be573f34125a667f24b047bbb49.png
点击新手引导:
https://img-blog.csdnimg.cn/3e52c0beb6554e9fbc73a727d5c7b029.png
填入公网IP地址,点确定即可解析完成:
https://img-blog.csdnimg.cn/a8a3a54d4ed84f68b372564e52188e57.png
第4步:申请免费SSL证书

申请免费的SSL证书,需要注意阿里云自2022年12月之后已不能领取免费SSL证书:
SSL/TLS 数字证书白金互助搭档 - 提供更好的服务与支持 - BitCert
https://img-blog.csdnimg.cn/ab23268e67b54f7284d95f22a7f873f0.png
注意购买年限处选择90天证书,此时的价格就是0:https://img-blog.csdnimg.cn/03374f9ecb9c4529b58b0559d604b3b4.png
 提交之后会表现待验证状态:
https://img-blog.csdnimg.cn/e4d926c960c24a8bb03c5dafdaaa2520.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 创建网站教程:服务器环境搭建(MySQL+Jdk+Nginx...),前后端项目部署(技