腾讯、阿里随便买一个(需要3个月以上)
买一个域名,买完之后需要审核、实名认证、报备,全部跑完整个流程大概需要一个多星期。
域名备案完需要把备案号以连接的方式写到你的bolg底部
宝塔是一个图形化的网站管理的软件,很好用。不需要你懂太对Linux的命令就可以挂载网站、服务器。
怎么一步步搭网站就不说了,百度一搜一堆。
这里就陈述一下我的一些搭网站遇到的一些问题。
我的个人博客是参考了技术胖这位爱分享的程序员的博客(文章尾部有连接到技术胖的博客)
在把用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
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/