暂无说说

Djangox项目部署(上)

django jiajun 1周前 (09-11) 33次浏览 0个评论 扫描二维码

1.关闭 selinux

暂时关闭:

sudo setenforce 0

永久关闭:

sudo vi /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled

重启服务器

sudo reboot

2.安装python36(项目基于python36)

sudo yum install epel-release
sudo yum install python36 python36-devel

3.安装 pip

sudo yum install unzip
unzip setuptools-40.2.0.zip
tar -zxvf pip-18.0.tar.gz
sudo mkdir -p /usr/local/lib/python3.6/site-packages/
cd setuptools-40.2.0
sudo python36 setup.py install
cd ../pip-18.0
sudo python36 setup.py install
sudo ln -s /usr/local/bin/pip /usr/bin/pip3

注:setuptools 跟 pip 包下载地址 https://pypi.org/

4.安装依赖包

sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r required.txt

5.安装 uWSGI

sudo yum install gcc
sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple uWSGI

6.安装 nginx

sudo yum install nginx

7.创建 uwsgi.ini 文件

mkdir ~/script
chmod 777 ~/script
vi ~/script/uwsgi.ini

增加以下内容

# uwsig 使用配置文件启动
[uwsgi]
# 项目目录
chdir=/home/hadoop/jknds/src
# 指定项目的 application
module=jknds.wsgi:application
# 指定 sock 的文件路径
socket=/home/hadoop/script/uwsgi.sock
# 进程个数
workers=5
pidfile=/home/hadoop/script/uwsgi.pid
# 启动 uwsgi 的用户名和用户组
uid=root
gid=root
# 启用主进程
master=true
# 自动移除 unix Socket 和 pid 文件当服务停止的时候
vacuum=true
# 序列化接受的内容,如果可能的话
thunder-lock=true
# 启用线程
enable-threads=true
# 设置自中断时间
harakiri=30
# 设置缓冲
post-buffering=4096
# 设置日志目录
daemonize=/home/hadoop/script/uwsgi.log

8.nginx 配置

sudo vi /etc/nginx/conf.d/jknds.conf

添加以下内容:

server {
listen 80;
server_name www.jknds.com;
charset utf-8;
client_max_body_size 75M;

location /media {
    alias /home/hadoop/jknds/src/media;
}

location /static {
    alias /home/hadoop/jknds/src/static;
}

location / {
    uwsgi_pass unix:///home/hadoop/script/uwsgi.sock;
    include /etc/nginx/uwsgi_params;
}
}

注:uwsgi.ini 中的 socket=/home/hadoop/script/uwsgi.sock 跟

      jknds.conf 中的 uwsgi_pass unix:///home/hadoop/script/uwsgi.sock;一致。

修改 nginx 用户

sudo vi /etc/nginx/nginx.conf

将 user nginx;
改为 user hadoop;

9.收集静态文件

cd /home/hadoop/jknds/src
vi jknds/settings.py

把 DEBUG = True 改为 DEBUG = False
ALLOWED_HOSTS = []改为 ALLOWED_HOSTS = ['*']
增加 STATIC_ROOT = os.path.join(BASE_DIR, 'static')

保存后执行

python36 manage.py collectstatic

10.启动 uwsgi 服务

cd ~/script
uwsgi --ini uwsgi.ini

查看进程

[hadoop@s103 script]$ ps -aux | grep uwsgi
hadoop 3299 1.2 3.1 280124 31356 ? S 07:58 0:00 uwsgi --ini uwsgi.ini
hadoop 3301 0.0 2.5 280124 25708 ? S 07:58 0:00 uwsgi --ini uwsgi.ini
hadoop 3302 0.0 2.5 280124 25708 ? S 07:58 0:00 uwsgi --ini uwsgi.ini
hadoop 3303 0.0 2.5 280124 25708 ? S 07:58 0:00 uwsgi --ini uwsgi.ini
hadoop 3304 0.0 2.5 280124 25708 ? S 07:58 0:00 uwsgi --ini uwsgi.ini
hadoop 3305 0.0 2.5 280124 25708 ? S 07:58 0:00 uwsgi --ini uwsgi.ini
hadoop 3341 0.0 0.0 112704 956 pts/0 S+ 07:59 0:00 grep --color=auto uwsgi

11.启动 nginx

sudo service nginx start

访问:http://www.jknds.com/


mathslib , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Djangox 项目部署(上)
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址