官方链接
只需要安装 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
sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install aspnetcore-runtime-2.2
终端执行以下命令
# 安装nginx
sudo apt-get install nginx -y
# 启动nginx
sudo service nginx start
打开浏览器输入127.0.0.1 显示如下内容则表示安装成功
官方链接(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)。
sudo apt-get update
sudo apt-get install iptables
sudo iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
iptables-save
3.7. 安装 SQL Server 命令行工具
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
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
需要把这两个项目先复制到ubuntu里面,如下图所示
因为要使用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)
修改后,重启 nginx 执行如下命令
nginx -t # 检查配置文件
nginx -s reload # 重启nginx
在/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
ubuntu16.04 + nginx + asp.net core webapi + vue + mssql2017
原文:https://www.cnblogs.com/su1961117443/p/12418845.html