系统:Centos 7

Docker下SQL Server安装

安装Docker

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

拉取镜像

docker pull mcr.microsoft.com/mssql/server:2019-latest

运行容器
其中SA\_PASSWORD设置为SA账户(SuperAdmin)的密码,默认登陆名为sa

docker run  --name sqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=2019@123' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest

至此,安装结束。

Centos 下ODBC驱动的安装

安装依赖

yum install unixODBC-devel freetds

在python虚拟环境中安装依赖

pip install django-pyodbc django-mssql django-pytds django-sqlserver mssql-django six lxml openpyxl PyMySQL pyodbc

配置freetds

nano /etc/freetds.conf

添加如下配置
其中 Server 为Django连接数据库时的HOST

[Server]
    host = 127.0.0.1
    port = 1433
    tds version = 8.0

配置unixODBC

nano /etc/odbcinst.ini

添加如下配置
其中SQL Server 为Django连接时的drive名

[SQL Server]
Description = FreeTDS ODBC driver for MSSQL
Driver = /usr/lib64/libtdsodbc.so
Setup = /usr/lib64/libtdsS.so
FileUsage = 1

执行odbcinst -d -q 查看驱动列表
有SQL Server则为配置成功

[PostgreSQL]
[MySQL]
[SQL Server]

Django 数据库配置

DATABASES = {
    "default": {
        "ENGINE": "mssql",
        "NAME": "数据库名",
        "HOST": "Server", # 为前文配置中freetds的配置名
        "PORT": "1433", #端口
        "USER": "用户名",
        "PASSWORD": "密码",
        "OPTIONS": {
            'driver': 'SQL Server', # 为前文配置中unixODBC的配置名
        },
    }
}

supervisor uvicorn配置

安装supervisior

pip install supervisor uvicorn  

supervisior配置文件

[program:System]
command=/project/sellsystem/bin/python3 -m uvicorn --proxy-headers --workers 4 [yourprojectname].asgi:application
directory=/project/sellsystem/
autorestart=true
startsecs=3
startretries=3
stdout_logfile=/www/server/panel/plugin/supervisor/log/sellSystem.out.log
stderr_logfile=/www/server/panel/plugin/supervisor/log/sellSystem.err.log
stdout_logfile_maxbytes=2MB
stderr_logfile_maxbytes=2MB
user=root
priority=999
numprocs=1
process_name=%(program_name)s_%(process_num)02d

保存后执行

supervisorctl update   #一定要先更新
supervisorctl start System:*
supervisorctl stop System:*
supervisorctl restart System:*

即可启动

nginx配置

server {
    listen         80;
    server_name    localhost
    charset UTF-8;
    access_log      /home/log/test_nginx_access.log;
    error_log       /home/log/test_nginx_error.log;

    client_max_body_size 75M;

    location / {
        proxy_pass http://127.0.0.1:8000;
    }
}

最后修改:2024 年 04 月 16 日
如果觉得我的文章对你有用,请随意赞赏