Centos部署django服务nginx+uwsgi的方法
程序员文章站
2022-11-14 20:10:58
1.安装python3
yum -y install wget gcc make zlib-devel readline-devel bzip2-devel...
1.安装python3
yum -y install wget gcc make zlib-devel readline-devel bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel openssl-devel wget https://www.python.org/ftp/python/3.6.1/python-3.6.1.tar.xz xz -d python-3.6.1.tar.xz tar -xvf python-3.6.1.tar cd python-3.6.1 ./configure --prefix=/usr/local/python3.6 --enable-optimizations make make install ln -s /usr/local/python3.6/bin/python3 /usr/bin/python3 ln -s /usr/local/python3.6/bin/pip3 /usr/bin/pip3
这是通过编译的方式来安装的
输入 python3 –version 和 pip3 –version 进行测试
2. 安装nginx
sudo rpm -uvh http://nginx.org/packages/centos/7/noarch/rpms/nginx-release-centos-7-0.el7.ngx.noarch.rpm sudo yum install -y nginx sudo systemctl start nginx.service
通过你的域名或ip来访问你的web页面来预览一下nginx的默认页面进行测试
3.下载代码,上传到服务器的/var/www 目录
4. 安装依赖
pip3 install django pip3 install uwsgi ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3
5. 独立运行进行测试
cd /var/www/dexundjango python3 manage.py runserver 0.0.0.0:8014
测试通过后,ctrl + c 停止运行
6.uwsgi
sudo mkdir -p /etc/uwsgi/sites sudo mkdir -p /var/log/uwsgi cd /etc/uwsgi/sites sudo vi /etc/uwsgi/sites/mysite.ini
[uwsgi] socket = 127.0.0.1:10000 chdir=/var/www/dexundjango module=mysite.wsgi:application master=true pidfile=/tmp/project-master.pid vacuum=true max-requests=5000 daemonize=/var/log/uwsgi/mysite.log
7. nginx 配置
vi /usr/local/nginx/conf/nginx.conf (根据本地的配置路径) find / -name uwsgi_params 来替换下面的uwsgi_params路径
server { listen 8014; #暴露给外部访问的端口 server_name localhost; charset utf-8; location / { include /usr/local/nginx/conf/uwsgi_params; uwsgi_pass 127.0.0.1:10000; # 必须和uwsgi.ini配置的端口一致 } location /static/ { alias /home/www/dexundjango/trade/static/; #项目静态路径设置 }
8. 启动uwsgi
uwsgi3 --ini /etc/uwsgi/sites/mysite.ini
9. 开机启动uwsgi
vi /etc/init.d/uwsgi
#!/bin/bash # chkconfig: - 85 15 uwsgi=/usr/bin/uwsgi3 api_conf=/etc/uwsgi/sites/mysite.ini case $1 in start) echo -n "starting uwsgi" nohup $uwsgi -i $api_conf >/var/log/uwsgi/project-api.log 2>&1 & echo " done" ;; stop) echo -n "stopping uwsgi" killall -9 uwsgi echo " done" ;; restart) $0 stop $0 start ;; show) ps -ef|grep uwsgi ;; *) echo -n "usage: $0 {start|restart|stop|show}" ;; esac
chmod +x /etc/init.d/uwsgi chkconfig --add uwsgi chkconfig uwsgi on
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。