总结从零搭建个人博客

总结从零搭建个人博客

服务器

腾讯、阿里随便买一个(需要3个月以上)

域名

买一个域名,买完之后需要审核、实名认证、报备,全部跑完整个流程大概需要一个多星期。

域名备案完需要把备案号以连接的方式写到你的bolg底部

宝塔

宝塔是一个图形化的网站管理的软件,很好用。不需要你懂太对Linux的命令就可以挂载网站、服务器。

怎么一步步搭网站就不说了,百度一搜一堆。

上传个人博客代码(前台、后台、后端)

这里就陈述一下我的一些搭网站遇到的一些问题。

我的个人博客是参考了技术胖这位爱分享的程序员的博客(文章尾部有连接到技术胖的博客)

  • 前台是使用的React的服务端渲染的框架Nextjs
  • 后台是使用React的客户端渲染
  • 后端使用了egg.js框架 + Mysql

后端

在把用egg框架写的后端搭建到服务器上的时候用pm2无法搭上去

egg不需要守护,因为他自己就有守护。直接上传代码到服务器再npm install ,进入文件的目录下,开启服务。

把本地测试的数据库拷到宝塔的数据库

window下

1.导出整个数据库
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u dbuser -p dbname > dbname.sql

2.导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql

3.导出一个数据库结构
mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table

4.导入数据库
常用source 命令
进入mysql数据库控制台,如
mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:/dbname.sql
 

1. 导入数据到数据库

mysql -uroot -D数据库名 

1. 导入数据到数据库中得某个表

mysql -uroot -D数据库名  表名


D:\APMServ5.2.6\MySQL5.1\bin>mysqldump -u root -p  erp lightinthebox_tags > ligh
tinthebox.sql


linux下

一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):
1、导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/   mysqldump -uroot -p abc > abc.sql
敲回车后会提示输入密码

2、只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/   mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/  --->  mysql的data目录


二、导入数据库
1、首先建空数据库
mysql>create database abc;

2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql

总结从零搭建个人博客_第1张图片

eggjs的config文件下config.default.js再配置好数据库

config.mysql = {
    // database configuration
    client: {
      // host 访问本地自己的服务器 这里就还是localhost
      host: 'localhost',
      // port 这个端口一般不会改变的
      port: '3306',
      // username
      user: '用户名',
      // password
      password: '密码',
      // database
      database: '数据库名字',
    },
    // load into app, default is open
    app: true,
    // load into agent, default is close
    agent: false,
  };
  

还可以顺便配置一下跨域

config.cors = {
    origin: 'http://localhost:3000', //只允许这个域进行访问接口  可以是‘*’---意思是允许全部访问
    credentials: true,   //允许Cookies可以跨域
    allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH,OPTIONS'
  };

在所有的东西都配置好搭建好,可以run一下,记得打开7001端口,然后在浏览器输入你的ip:7001 。

前台

nextjs是SSR 服务端渲染 直接服务端开启服务 用pm2 守护

如果使用宝塔的PM2找不到启动文件的话,可以直接用命令行进入前台代码的文件目录下输入:

pm2 start npm -- run start

然后再进入宝塔的PM2就可以看到一个
在这里插入图片描述

你还需要添加端口,记得是没有被占用的端口,并且放行了的端口,这里我使用3001

这样你就可以直接输入ip:3001进入搭建上去的网站了

因为nextjs是服务端渲染,所以需要以这样的方式开启服务,他和客户端渲染(SPA)不一样,SPA可以直接打包成静态文件直接用宝塔的建站配置就好了。

如果你有域名,那么就映射到你的域名。

后台

react 是SPA应用 客户端渲染 直接打包成静态文件 上传到服务器 用宝塔建站就好了

总结

在搭建这个blog过程,我觉得卡住我蛮久的是用云服务器搭建的过程,不知道整个流程,还有一些很小的点。

搭建过一次就熟练了

跨域、网络安全、合法这三点我觉得蛮重要的。

资料参考:
https://jspang.com/

http://alohaxuuuu.fun/

你可能感兴趣的:(mysql,数据库,react.js,webpack,前端)