一、文件安装
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;
}
}

2958

被折叠的 条评论
为什么被折叠?



