Centos部署django服务nginx+uwsgi的方法

作者:瓦力冫 时间:2022-03-18 07:47:26 

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

来源:http://www.waitingfy.com/archives/5235

标签:Centos,django,nginx,uwsgi
0
投稿

猜你喜欢

  • ASP实现上传图片到数据库

    2007-09-21 12:59:00
  • SQL建立数据库及删除数据库命令

    2011-12-01 10:23:21
  • Oracle PL/SQL入门案例实践

    2010-07-18 13:13:00
  • 基于Django实现日志记录报错信息

    2021-06-22 06:24:23
  • 在Django中管理Users和Permissions以及Groups的方法

    2023-11-03 03:10:21
  • Python 保存矩阵为Excel的实现方法

    2022-07-23 07:05:00
  • 使用 prometheus python 库编写自定义指标的方法(完整代码)

    2021-03-03 06:03:58
  • 如何使用pycharm连接Databricks的步骤详解

    2023-01-28 23:19:03
  • 如何编写一个创建FTP站点的函数?

    2009-11-07 18:51:00
  • 简单的水果风暴的算法过程

    2009-12-13 15:49:00
  • python+requests+unittest API接口测试实例(详解)

    2021-10-14 13:15:08
  • Python设计足球联赛赛程表程序的思路与简单实现示例

    2023-05-02 20:58:05
  • WEB前端开发经验总结 Ⅰ

    2008-06-12 12:23:00
  • MSSQL 基本语法及实例操作语句

    2012-07-11 15:40:09
  • Python爬虫之Selenium警告框(弹窗)处理

    2021-10-06 23:59:12
  • ASP.NET中MVC从后台控制器传递数据到前台视图的方式

    2023-06-29 07:09:39
  • php之二维数组排序问题

    2023-07-15 06:44:42
  • python使用自定义user-agent抓取网页的方法

    2021-12-27 03:09:56
  • python创建关联数组(字典)的方法

    2021-11-22 06:51:18
  • python实现中文分词FMM算法实例

    2022-07-31 18:40:55
  • asp之家 网络编程 m.aspxhome.com