web与webapi服务部署,ubuntu环境下nvm、nodejs、dotnet、mysql安装与项目运行

qq_48446054 2024-07-24 10:33:03 阅读 64

web与webapi服务部署

1. web服务部署1.1 安装nvm(Ubuntu下nvm的安装使用)1.2 使用第一步:安装node第二步:npm的更新第三步:查看版本第四步:更新到最新版本第五步:更新到指定版本,@版本号第六步:修改npm包的全局安装位置第七步:修改npm为国内镜像

2. webapi服务部署2.1 安装dotnet下载SDK:[点击下载](https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/sdk-8.0.201-linux-x64-binaries)安装 SDK:

2.2 安装mysql第一步 :更新软件包第二步 :直接安装最新mysql第三步:全部安装完成,查看mysql版本,本项目安装的是mysql Ver 8.0.35-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))第四步 :启动服务第五步 :依次输入命令,最后一次命令的&不要漏掉了第六步 :进入mysql第七步:输入mysql命令,执行完成以后刷新一下第八步 :修改mysql密码并刷新第九步 :输入exit 回车退出mysql,或者Ctrl+z最后一步 :停止mysql,重新启动,进入mysql进入mysql :sudo mysql -p -u root 输入密码即可设置mysql开机自启动:取消mysql开机自启动:重点:修改mysql登录密码,直接通过 mysql -uroot -p 进入到mysql,是不需要密码的。

2.3 数据库初始化第一步:进入mysql第二步:创建数据库第三步:执行sql文件(文件在项目代码中webapi目录,名为agvsystem.sql)第四步:退出mysql

3. 项目启动第一步:从项目仓库中clone醒目代码第二步:进入项目目录第三步:安装web依赖第四步:启动web项目第五步:启动webapi项目

4. 项目启动脚本(agvWeb同级目录下运行该脚本)5. 项目编译5.1 后端编译5.2 前端编译5.3 项目更新

1. web服务部署

1.1 安装nvm(Ubuntu下nvm的安装使用)

nvm是一个node版本管理器,类似与Python中的 Anaconda 、virtural-env。

nvm的github仓库地址为 https://github.com/creationix/nvm

在终端执行以下命令,将自动进行nvm的安装:

<code>wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

​ nvm将被安装$HOME/.nvm 目录中。

安装完成后,执行以下命令查看是否安装完成:

nvm --version

出现 Command ‘nvm’ not found 的解决办法:

关掉当前终端并重新打开一个新的窗口,问题解决。

1.2 使用
第一步:安装node

查看所有可供安装的node版本:

nvm ls-remote

选择自己想要的版本进行安装,本项目选用 v18.12.1 安装,

nvm install v18.12.1

​输入以上命令后,自动进行node下载和安装。

查看本地已安装的node:

nvm ls

其他nvm的相关指令,参见 nvm --help

第二步:npm的更新

安装完node后,默认会安装 npm,但不是最新版本,需要手动更新。

第三步:查看版本

npm -v

第四步:更新到最新版本

npm install -g npm

第五步:更新到指定版本,@版本号

npm -g install npm@8.19.2

第六步:修改npm包的全局安装位置

查看 npm 的配置

npm config ls

prefix 为当前包的全局安装位置,为了方便管理,设置为自己的路径

npm config set prefix "new_path"

第七步:修改npm为国内镜像

npm config set registry "http://registry.npm.taobao.org/"

2. webapi服务部署

2.1 安装dotnet

.NET SDK 是一组库和工具,开发人员可使用它创建.NET 应用程序和库。

下载SDK:点击下载
安装 SDK:

下载完成后,打开终端并运行以下命令以提取 SDK 并使这些命令在终端上可用。

mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-8.0.201-linux-x64.tar.gz -C $HOME/dotnet

export DOTNET_ROOT=$HOME/dotnet

export PATH=$PATH:$HOME/dotnet

2.2 安装mysql
第一步 :更新软件包

sudo apt update

第二步 :直接安装最新mysql

sudo apt install mysql-server -y

第三步:全部安装完成,查看mysql版本,本项目安装的是mysql Ver 8.0.35-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))

mysql --version

第四步 :启动服务

sudo /etc/init.d/mysql stop

第五步 :依次输入命令,最后一次命令的&不要漏掉了

sudo mkdir /var/run/mysqld

sudo chown mysql /var/run/mysqld

sudo mysqld_safe --skip-grant-tables&

第六步 :进入mysql

sudo mysql --user=root mysql

第七步:输入mysql命令,执行完成以后刷新一下

UPDATE mysql.user SET authentication_string=null WHERE User='root';code>

flush privileges;

第八步 :修改mysql密码并刷新

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

flush privileges;

第九步 :输入exit 回车退出mysql,或者Ctrl+z
最后一步 :停止mysql,重新启动,进入mysql
进入mysql :sudo mysql -p -u root 输入密码即可
设置mysql开机自启动:

sudo update-rc.d -f mysql defaults

取消mysql开机自启动:

sudo update-rc.d -f mysql remove

重点:修改mysql登录密码,直接通过 mysql -uroot -p 进入到mysql,是不需要密码的。
2.3 数据库初始化
第一步:进入mysql

sudo mysql -uroot -p

第二步:创建数据库

CREATE DATABASE IF NOT EXISTS `agvsystem` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

第三步:执行sql文件(文件在项目代码中webapi目录,名为agvsystem.sql)

Source 文件名.sql

第四步:退出mysql

exit

3. 项目启动

第一步:从项目仓库中clone醒目代码

git clone --branch develop http://192.168.1.119:8090/agv/agvweb.git

第二步:进入项目目录

cd agvweb

第三步:安装web依赖

npm install

第四步:启动web项目

npm run start

第五步:启动webapi项目

cd agvAPI

export DOTNET_ROOT=$HOME/dotnet

export PATH=$PATH:$HOME/dotnet

dotnet run

4. 项目启动脚本(agvWeb同级目录下运行该脚本)

# !/bash/sh

# 运行WebApi

processNum=`ps -a |grep agvProject| wc -l`

echo $processNum

if [ $processNum -eq 0 ];then

echo webapisystem is not running

echo "try to run webapisystem"

gnome-terminal -- bash -c "cd agvweb/agvAPI;dotnet run;" &

sleep 3

else

echo webapisystem is already running.

read -p "do you want to kill this process?[y/n]" input

echo $input

if [ $input = "y" ];then

sudo killall -9 dotnet

sudo killall -9 agvProject

echo kill node

echo "try to run webapisystem"

gnome-terminal -- bash -c "cd agvweb/agvAPI;dotnet run;" &

sleep 3

fi

fi

# 运行web

processNum=`ps -a |grep "node"| wc -l`

echo $processNum

if [ $processNum -eq 0 ];then

echo websystem is not running

echo "try to run websystem"

gnome-terminal -- bash -c "cd agvweb;npm run start;" &

sleep 3

else

echo websystem is already running

read -p "do you want to kill this process?[y/n]" input

echo $input

if [ $input = "y" ];then

sudo killall -9 "npm run start"

sudo killall -9 "node"

echo kill node

echo "try to run websystem"

gnome-terminal -- bash -c "cd agvweb;npm run start;" &

sleep 3

fi

fi

5. 项目编译

5.1 后端编译

在webapi项目根目录下执行dotnet build命令。

编译完成后编译结果在agvweb\agvAPI\bin\Debug\net8.0目录下。

运行编译结果:在结果目录打开终端执行agvProject命令。

5.2 前端编译

在agvweb项目根目录下执行npm run build命令。

编译完成后编译结果在agvweb\build目录下。

运行编译结果:在build目录中双击index.html文件即可。

5.3 项目更新

前端编译结果build目录中的文件最后将全部放至后端编译结果wwwroot目录下(若无该目录则手动创建一个),更新时直接将该目录内容重置即可。

注:需将build目录下的index.html重命名为home.html(不为原名即可)。

启动后端后前端静态页面访问地址:http://localhost:5050/home.htmljs/



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。