树莓派上部署WEB前后端项目
内容包括(主要记录方法,安装配置不详述):
- 前端部署在nginx上
- nginx配置文件简单的编写
- 后端部署在Tomcat上(热部署)war包形式
- 后端直接部署,通过jar包运行
- mysql配置和基础指令使用
1. 前端部署在nginx上
根据在nginx配置文件中编写的路径,将打包好的项目文件放入该路径中即可,比如我使用的是Vue框架,npm run build后将dist下的文件全部移入
配置好的路径下即可。
推荐使用MobaXterm/FileZilla等工具;
2. nginx配置文件简单的编写
我树莓派上配置的如下所示
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 1024;
# multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
server #server块
{
listen 80;
server_name 你的域名/树莓派IP地址;
root 前端项目部署的路径;
index index.html index.htm;
# 前端history模式下的配置
location / {
try_files $uri $uri/ /index.html;
}
# 映射
location ^~ /api/ {
proxy_pass http://127.0.0.1:8080/;
}
}
server #server块
{
listen 81;
server_name 你的域名/树莓派IP地址;
root 前端项目部署的路径;
index index.html index.htm;
# 前端history模式下的配置
location / {
try_files $uri $uri/ /index.html;
}
# 映射
location ^~ /api/ {
proxy_pass http://127.0.0.1:8080/;
}
}
}
3. 后端部署在Tomcat上(热部署)war包形式
pom.xml中配置为
<packaging>war</packaging>
使用的是IDEA,最右边Maven-项目名-Lifecycle-install
生成war包。
在设置为自动部署的情况下放到/usr/local/apache-tomcat-9.0.36/webapps下即可(具体路径根据自己tomcat配置的路径的决定);
然后/usr/local/apache-tomcat-9.0.36/bin/下运行./startup.sh即可启动Tomcat;
销毁程序使用:killall java
4. 后端直接部署,通过jar包运行
pom.xml中配置为
<packaging>jar</packaging>
使用的是IDEA,最右边Maven-项目名-Lifecycle-install
生成jar包。
在你jar包存放的路径下执行下面命令
nohup java -jar jar包名.jar &,&是后台运行
nohup是永久执行,即你把树莓派的对话窗口关了,只要你不killall java或者关机,就会一直运行。
销毁程序使用:killall java
5. mysql配置和基础指令使用
进入到你mysql的路径下,我这里是/etc/mysql
mysql -u root -p,输入密码回车即可登录mysql
几个常用命令:
create database 表名; --> 创建数据库
use 数据库名称; --> 使用数据库
进入到数据库后,将sql文件配置到数据库:source sql文件的绝对路径;(一般使用utf-8编码格式)
show tables; --> 查看数据库下的表
show databases; --> 查看所有数据库
几个常用的Linux下指令:
查看端口占用情况 netstat -ntlp
nano 编辑文本好工具
su pi 切换为pi用户
Linux下,给sh文件加参数时使用$1表示第一个参数
sudo lsof -i:8080 查看8080端口的pid号
sudo kill -9 PID号 杀死进程