官方链接 只需要安装 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
要使 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
chmod -v 777 /opt/mssql/bin/sqlservr
需要把这两个项目先复制到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