or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
简单前后端分离项目部署
简介
我是部署我的简单动漫网站的时候碰到这方面的问题。
我的项目技术栈:
文件传输到服务器上
方法有很多,我直接将项目上传到github, 然后pull到云端。
将后端跑起来
我这里直接使用python命令行启动
虽然后端运行了起来,但是这时候我们还不能通过公网ip去进行访问。
要将防火墙打开。
同时腾讯这也要进行防火墙管理
然后就可以访问到了

前端部署
我这里的前端, 属于传统前端,主要有html,css,js等静态文件组成。
我使用VUE,所以使用npm run build 进行打包

这时候,我们的前端就已经打包完毕了。
重点来了
使用某个服务器对静态资源进行代理
我使用的是nginx。
以下是我的配置
我这里只对简单的静态资源代理进行举例,关于后端的代理可以自行浏览nginx的用例
Nginx下vue等打包静态资源的路由问题
因为vue打包后是单个html,url也是vue内部的。所以刷新页面会出现下面问题。

参考资料链接
解决问题
在服务端nginx配置里添加vue-route的跳转设置(这里首页是index.html,如果是index.php就在下面对应位置替换),正确配置如下:
重启 nginx 后,问题就迎刃而解了。
最后讲解自动启动问题
使用ssh 连接后,终端退出那么任务也就没了
所以我使用自动启动
这里主要用systemctl
我的服务器使用centos7,他的systemctl自动启动项在目录
/usr/lib/systemd/system/
新建service文件:
我新建了lwl.service文件
具体配置
注意
systemctl执行脚本时需要知道脚本的解释器
解决方法:
在/root/init.sh脚本的开头加上
#!/bin/sh
最后的init.sh
然后就是一些命令了
尽量将运行命令写的精确
比如我的python有多个版本,那么尽量写成
/usr/bin/python /root/lwl/code/python/deploy/flaskApi.py & # 运行指定项目
简单讲程序放入后台
nohup命令:
如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思。
我们现在开始启动服务 python pyserver.py,并且希望在后台运行.我们就可以使用nohup,命令如下:
nohup python pyserver.py