java/python部署项目到服务器一般步骤

部署需要的东西:

  1. 服务器一台能访问公网(阿里云or腾讯云) 建议用轻量应用服务器
  2. 域名
  3. xshell sftp远程登录工具

首先服务器要配置ssh服务,然后本地能远程登录上去。

以上准备好之后,使用xftp把项目从本地拷贝到服务器上。

1.python flask项目本身就是基于一个web服务器运行,因此可以直接在服务器上跑项目,
采取后台运行方式 nohup 命令(这样当你把远程ssh登录窗口关闭了也还能运行)运行了项目之后,用nginx反向代理一下就行。当然要配置服务器的数据库,项目里面的数据库账号密码要与服务器上一致,数据的话 可以在本地把数据库导出sql文件,然后服务器上运行sql文件。

需要注意的是:
nginx监听的端口要打开。一般监听80或者443端口 80/443通常默认打开的。

2.java项目通常是打包为war包or jar包,然后拷贝到服务器上。

然后服务器上使用后台运行命令:

[root@iZ2ze boy]#  nohup java -jar xxxxx.jar  > xxxxxlog.file  2>&1 &

当返回一个数字,就表示成功,然后使用nginx反向代理。

4.java项目注册为系统服务 自动化部署shell脚本


#!/bin/sh
#chkconfig:2345 80 90(这个作用是为了可以把服务加入到 chkconfig list中去)
#description:系统服务脚本
echo 请输入服务名:
read mylove
echo "你输入服务名是:${mylove}"

echo 请输入jar包位置:
read  PATH_TO_JAR  #打包好的jar包位置
echo "你输入的jar包位置是:${PATH_TO_JAR}"

read  PID_PATH_NAME  #进程号文件
echo "你输入的进程号文件位置是:${PID_PATH_NAME}"

case $1 in
start)
echo "Starting $SERVICE_NAME ..."
if [ ! -f $PID_PATH_NAME ]; then
nohup java -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is already running ..."
fi
;;
stop)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stoping ..."
kill $PID;
echo "$SERVICE_NAME stopped ..."
rm $PID_PATH_NAME
else
echo "$SERVICE_NAME is not running ..."
fi
;;
restart)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME stopping ...";
kill $PID;
echo "$SERVICE_NAME stopped ...";
rm $PID_PATH_NAME
echo "$SERVICE_NAME starting ..."
nohup java -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME started ..."
else
echo "$SERVICE_NAME is not running ..."
fi
;;
status)

status)
if [ -f $PID_PATH_NAME ]; then
PID=$(cat $PID_PATH_NAME);
echo "$SERVICE_NAME is running, pid=$PID"
else
echo "$SERVICE_NAME is not running..."
fi
;;
esac 

最后给该shell脚本增加执行权限

chmod -R 775 <这个shell文件路径>

猜你喜欢

转载自blog.csdn.net/weixin_43919632/article/details/111602825