vue 3使用 mysql 的数据 vue mssql

admin2024-05-30  28

如果还没安装ubuntu系统,请参考这里 虚拟机安装ubuntu16.04详细步骤

1.安装 asp.net core2.2

官方链接 只需要安装 ASP.NET Core 运行时,因为它同时包括 .NET Core 和 ASP.NET Core 运行时。

  • 在终端中,运行以下命令。 每台计算机只需要执行一次此操作。
wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
  • 在终端中,运行以下命令 安装 ASP.NET Core 运行时。
sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install aspnetcore-runtime-2.2

2.安装 nginx

终端执行以下命令

# 安装nginx
sudo apt-get install nginx -y
# 启动nginx
sudo service nginx start

打开浏览器输入127.0.0.1 显示如下内容则表示安装成功

vue 3使用 mysql 的数据 vue mssql,vue 3使用 mysql 的数据 vue mssql_nginx,第1张

3.安装 mssql2017

官方链接(https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu?view=sql-server-linux-2017#prerequisites)

3.1. 导入公共存储库 GPG 密钥:

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

3.2. 注册 Microsoft SQL Server Ubuntu 存储库

sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"

3.3. 运行以下命令以安装 SQL Server:

sudo apt-get update
sudo apt-get install -y mssql-server

3.4. 包安装完成后,运行 mssql-conf setup,按照提示设置 SA 密码并选择版本。

sudo /opt/mssql/bin/mssql-conf setup

3.5. 完成配置后,验证服务是否正在运行:

systemctl status mssql-server --no-pager

3.6. 如果计划远程连接,可能还需要在防火墙上打开 SQL Server TCP 端口(默认值为 1433)。

  • 一般情况下,Ubuntu安装好的时候,iptables会被安装上。如果没有,执行下面命令
sudo apt-get update
sudo apt-get install iptables
  • 安装完后,开放8000端口,使用下面命令:
sudo iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
  • 保存规则
iptables-save

3.7. 安装 SQL Server 命令行工具

  • 导入公共存储库 GPG 密钥。
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
  • 注册 Microsoft Ubuntu 存储库。
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
  • 更新源列表,并使用 unixODBC 开发人员包运行安装命令。
sudo apt-get update 
sudo apt-get install mssql-tools unixodbc-dev
  • 可选:向 bash shell 中的 PATH 环境变量添加 /opt/mssql-tools/bin/ 。

要使 sqlcmd/bcp 能从登陆会话的 bash shell 进行访问,请使用下列命令修改 ~/.bash_profile 文件中的 PATH :

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

要使 sqlcmd/bcp 能从交互式/非登录会话的 bash shell 进行访问,请使用下列命令修改 ~/.bashrc 文件中的 PATH : (因为我要在外部通过mssql管理工具连接linux的数据库,所以我执行了下面的命令)

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

重要 提示内存不足

在执行安装的过程中会遇到sqlservr: This program requires a machine with at least 2000 megabytes of memory.
解决方法:
cd /opt/mssql/bin/ # 进入目录 
mv sqlservr sqlservr.old # 保存备份文件 
python # 使用python修改内存限制代码 
   >>>oldfile = open("sqlservr.old", "rb").read()
  >>>newfile = oldfile.replace("\x00\x94\x35\x77", "\x00\x80\x84\x1e")
  >>>open("sqlservr", "wb").write(newfile)
  >>>exit()
这样就把限制变成了512兆 ,再执行sudo /opt/mssql/bin/mssql-conf setup

重要 提示 /bin/bash: /opt/mssql/bin/sqlservr: Permission denied 执行 以下命令

chmod -v 777 /opt/mssql/bin/sqlservr

4.部署项目

4.1. 准备工作

  • asp.net core webapi 项目
  • vue 项目

需要把这两个项目先复制到ubuntu里面,如下图所示

vue 3使用 mysql 的数据 vue mssql,vue 3使用 mysql 的数据 vue mssql_nginx_02,第2张

4.2. nginx配置文件

因为要使用nginx做asp.net core网站的反向代理,我们需要修改nginx的默认配置文件/etc/nginx/sites-enabled/default ,将以下内容替换默认配置:

upstream api {
	server 127.0.0.1:5000;
}

# api项目
server {
	listen 8080; # 监听8080端口 转发到 5000
	server_name localhost:8080;
	location /{
		proxy_pass http://api;
        	proxy_http_version 1.1;
        	proxy_set_header Upgrade $http_upgrade;
        	proxy_set_header Connection keep-alive;
        	proxy_set_header Host $host;
        	proxy_cache_bypass $http_upgrade;
	}
}

# vue 项目
server {
    	listen 80;
    	listen [::]:80;
	
    	server_name localhost:80; 
	
	root /home/su/public/vue-admin/dist; # 项目的根目录
	
	index index.html; # 首页
	
    	location / {
		try_files $uri $uri/ @router;
    	}
	
	location @router {
		rewrite ^.*$ /index.html last;
	}
}

如果文件只读,需要执行如下命令修改权限(需要root)

vue 3使用 mysql 的数据 vue mssql,vue 3使用 mysql 的数据 vue mssql_nginx_03,第3张

修改后,重启 nginx 执行如下命令

nginx -t  # 检查配置文件
nginx -s reload # 重启nginx

vue 3使用 mysql 的数据 vue mssql,vue 3使用 mysql 的数据 vue mssql_nginx_04,第4张

4.3. 守护进程

在/etc/systemd/system 下新建文件,文件名以.service结尾,配置内容为(注意:中文注释需要删掉,否则部分 Linux 服务器会报错):

[Unit]
Description=ShopApi #服务描述,随便填就好

[Service]
WorkingDirectory=/home/su/public/shopapi #工作目录,填你应用的绝对路径
ExecStart=/usr/bin/dotnet /home/su/public/shopapi/App.dll #启动:前半截是你dotnet的位置(一般都在这个位置),后半部分是你程序入口的dll,中间用空格隔开
Restart=always  
RestartSec=25 #如果服务出现问题会在25秒后重启,数值可自己设置
SyslogIdentifier=ShopApi
User=root #配置服务用户,越高越好
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target

写完配置文件后保存,输入指令确认服务:

systemctl enable (你的服务名).service

例如:

systemctl enable core.api.service

然后启动服务

systemctl start core.api.service

然后查看一下服务状态 出现状态说明服务运行正常。

systemctl status core.api

再次输入127.0.0.1

vue 3使用 mysql 的数据 vue mssql,vue 3使用 mysql 的数据 vue mssql_sql_05,第5张

至此 大功告成 结束



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!