ubuntu django项目部署

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

一、文件安装
1)文件安装
sudo yum install mod_wsgi

二、apche部署
1)创建配置文件
sudo vi /etc/apache2/sites-available/one.conf

<VirtualHost *:1125>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/ubuntu/zjl/zjl_web
    WSGIScriptAlias / /home/ubuntu/zjl/zjl_web/zjl_web/wsgi.py
    WSGIDaemonProcess zjl python-path=/usr/lib/python3/dist-packages
    WSGIProcessGroup zjl
    <Directory /home/ubuntu/zjl/zjl_web/zjl_web>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

2)修改监听端口
vim /etc/apache2/ports.conf
Listen 80 改成 Listen 1125

3)配置文件命令
sudo a2ensite one.conf # 使配置文件生效
sudo apache2ctl configtest # 检验配置文件是否正确
sudo a2dissite 000-default.conf # 使默认配置文件失效
sudo /etc/init.d/apache2 restart # 重启Apache
sudo /etc/init.d/apache2 stop # 停止Apache
sudo /etc/init.d/apache2 start # 启动Apache
sudo systemctl status apache2 # 查看运行状态

4)发布验证
cat /var/log/apache2/error.log # 查看错误日志

三、django 报错处理
1)模块未找到,安装对应模块
pip3 install django-cors-headers
sudo get_apt install python3-dev
2)日志报错,删除logs文件
python manage.py makemigrations zjl 迁移后让django知道模型变更
python manage.py migrate 重构django
3)wsgi.py 文件修改

    sys.path.append("/home/ubuntu/zjl/zjl_web")
	sys.path.append("/usr/lib/python3.8/dist-packages")
	from zjl.script.mqtt_run import mqtt_run
	from zjl.script.my_timing import timing_run
	mqtt_run()
	timing_run()
	os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'zjl_web.settings')
	application = get_wsgi_application()

四、nginx配置
1)nginx-cfig文件中引入 include /etc/nginx/modules-enabled/*.conf;
2)修改 /etc/nginx/sites-enabled下的 default

server {
        listen 80 default_server;
        listen [::]:80 default_server;
		
		root /***/dist;
        index  index.html;
}

2)命令
nginx -t 检查配置文件是否正常
nginx -s reload 重启加载配置

五、python程序部署
1)创建服务
vim /etc/systemd/system/my_service.service

[Unit]
Description=My Python Service
After=network.target

[Service]
ExecStart=/usr/bin/python3.8 /home/ubuntu/zjl/sj_tcp/sj_tcp.py
 
[Install]
WantedBy=multi-user.target

2)命令
sudo systemctl daemon-reload 使配置生效
sudo systemctl restart my_service.service 重启服务
sudo systemctl status my_service.service 查看服务状态

sudo systemctl start my_service.service 启动
sudo systemctl stop my_service.service 停止
sudo systemctl enable my_service.service 开机自启
sudo systemctl disable my_service.service 关闭自启

四、apache部署http和https双域名
1 、sudo apt-get install libapache2-mod-ssl 安装ssl
2、 sudo a2enmod ssl 启动ssl
附:阿里云申请SSL
1、搜索ssl证书证书,证书管理-个人测试证书-创建证书
2、证书申请后点击更多-下载证书

    WSGIScriptAlias / /home/ubuntu/zjl/zjl_web/zjl_web/wsgi.py
    WSGIDaemonProcess zjl python-path=/usr/lib/python3/dist-packages
    WSGIProcessGroup zjl

    <Directory /home/ubuntu/zjl/zjl_web/zjl_web>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
    
<VirtualHost *:1125>
        ServerName mail.zjlwkq.com
        DocumentRoot /home/ubuntu/zjl/zjl_web

        SSLEngine off
        SSLCertificateFile  /etc/apache2/sites-available/cert/mail.zjlwkq.com_public.crt
        SSLCertificateKeyFile /etc/apache2/sites-available/cert/mail.zjlwkq.com.key
        SSLCertificateChainFile /etc/apache2/sites-available/cert/mail.zjlwkq.com_chain.crt

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /home/ubuntu/zjl/zjl_web
    
        SSLEngine on
        SSLCertificateFile  /etc/apache2/sites-available/cert/mail.zjlwkq.com_public.crt
        SSLCertificateKeyFile /etc/apache2/sites-available/cert/mail.zjlwkq.com.key
        SSLCertificateChainFile /etc/apache2/sites-available/cert/mail.zjlwkq.com_chain.crt

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

server {
        listen 809 ssl default_server;
        listen [::]:809 ssl default_server;
	   server_name mail.zjlwkq.com;
	   
	  ssl_certificate /etc/letsencrypt/mail.zjlwkq.com.pem;
    	  ssl_certificate_key /etc/letsencrypt/mail.zjlwkq.com.key;
	  ssl_protocols TLSv1.2 TLSv1.3;

        root /var/www/zjl/dist_809;
        index  index.html;        
        
        index index.html index.htm index.nginx-debian.html;
        location /media/ {
                alias /home/ubuntu/zjl/zjl_web/media/;
                try_files $uri $uri/ =404;
        }
}

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值