美文网首页Pythonweb相关
centos7.x下部署django项目superviosr+n

centos7.x下部署django项目superviosr+n

作者: 予风 | 来源:发表于2019-06-20 16:48 被阅读0次
更新系统依赖包
yum update -y
安装依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-develgcc

安装python3解释器

下载python3.7安装包
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
解压安装包
tar -zxvf Python-3.8.5.tgz
创建python解释器安装位置
sudo mkdir /usr/local/python3
cd 到解压包中编译python解释器
./configure --prefix=/usr/local/python3 --enable optimizations

安装解释器
make && make install 

这里可能会报 ModuleNotFoundError: module named "_ctypes" make : *** [install] 错误1

缺少安装依赖包解决办法:yum -y install libffi-devel 重新 make && make install

创建软链接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
测试

python3 -V
pip -V

image.png
image.png

Mysql配置安装

下载
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装mysql-community-release-el7-5.noarch.rpm包
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql
sudo yum install mysql-server
重置密码

先修改权限问题:

sudo chown -R openscanner:openscanner /var/lib/mysql

重启服务:

service mysqld restart

重置登录密码

mysql -u root
mysql > UPDATE mysql.user SET Password=PASSWORD('123456') WHERE User= 'root';
FLUSH PRIVILEGES;

环境配置

方法一
pip install pipenv

切换到项目所在目录:

pipenv shell  #会生成一个项目同名的依赖环境
方法二
pip install virtualenv
pip3 install virtualenvwrapper
find / -name 'virtualenvwrapper.sh'  #找到wrapper安装位置
mkdir  /home/ .virtualenvs   #创建virtualenvwrapper存放位置

编辑 . bashrc 文件末尾添加以下代码

if
""
exportWORKON_HOME=/home/.virtualenvs
exportVIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source/usr/local/python3/bin/virtualenvwrapper.sh
fi
source .bashrc   #更新代码

相关命令

mkvirtualenv name -p python3   #创建环境
rmvirtualenv name  #删除环境
workon  name  #进入环境

gunicorn安装配置

安装
pip install gunicorn
配置

项目settings.py

install_app {
"""
"gunicorn", 
"""
}

项目文件配置-gunicorn.py

import multiprocessing
bind = '0.0.0.0:8000' #监听端口
workers = 10  
worker_connections = 200  
pidfile = '/root/DjangoBlog/logs/gunicorn.pid' #pid文件
proc_name = "DjangoBlog"  
reload = True   #重载
errorlog = "/root/DjangoBlog/logs/guni.log"  #报错日志  
loglevel = 'debug'  #debug等级

Supervisor安装配置

安装
pip install supervisor

配置文件生成

mkdir -m 755 -p /etc/supervisor/
mkdir -m 755 conf.d
echo_supervisord_conf > /etc/supervisor/supervisord.conf
配置需要启动的项目
cd   /etc/supervisor/conf.d

创建DjangoBlog.conf文件

[program:Dblog] # 程序名字:启动/停止app_name部分
directory=/root/DjangoBlog #项目目录
command = /home/.virtualenvs/Dblong/bin/gunicorn  -c /root/DjangoBlog/bin/guniconf.py  DjangoBlog.wsgi:application
#程序运行命令配置了gunicorn
autostart = true  
autorestart = true #程序自动重启
user=root   #用户
redirect_stderr = true  
stdout_logfile = /root/DjangoBlog/logs/robot.log
stderr_logfile=/root/DjangoBlog/logs/err.log
                                                  
运行
 supervisord -c /etc/supervisor/supervisord.conf
相关命令

​ 启动程序

  • supervisorctl start program_name  
    

    关闭程序

  • supervisorctl stop program_name  
    
  • supervisorctl shutdown
    

    查看运行

  • supervisorctl status
    

Nginx相关配置

nginx安装

方法

下载

wget http://nginx.org/download/nginx-1.9.9.tar.gz 

解压

tar -zxvf nginx-1.9.9.tar.gz 

编译:cd 到解压目录下

./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tem/nginx/client --http-proxy-temp-path=/var/tem/nginx/proxy --http-fastcgi-temp-path=/var/tem/nginx/fcgi --with-http_stub_status_module

安装

make && make install

方法二

sudo apt-get install nginx   #安装
sudo service nginx start  #运行

启动

nginx -c /etc/nginx/nginx.conf
报错1[emerg] getpwnam("nginx") failed
解决
useradd -s /sbin/nologin -M nginx
 id nginx 
报错2 [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)

解决

sudo mkdir -p /var/tem/nginx/client

nginx命令

service nginx start   #启动
service nginx stop    #停止
service nginx reload  #重启
nginx -s reload  #重启
nginx -t # 测试

测试是否安装成功:

nginx -t
image.png

至此nginx安装完成,开始相关配置

nginx配置

cd nginx安装目录:

如果不确定nginx安装目录nginx -t可以看到the configuration...nginx.conf即配置文件所在位置,安装方法不同文件保存位置也会发生变化

image.png
由此可以看出nginx配置文件在etc/nginx下面的
cd /etc/nginx/

备份nginx配置

cp nginx.conf nginx.conf.cp

编辑配置文件

vim nginx.conf

配置内容

   """"
   #部署需要配置的部分
   server {
        listen       80; #监听80端口请求

        server_name  ip ;  #这里配置你的ip
        location / {
                proxy_pass http://127.0.0.1:8000; #将xx端口转发nginx
                proxy_set_header Host $host;  #请求头
                proxy_set_header X-Real-IP $remote_addr;  #将项目请求ip转发到你的ip上
                }    #这段写法无需更改复制即可
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        location /static {
          alias /root/DjangoBlog/collectedstatic;  #配置静态文件位置

        }

""""

配置完成保存退出

重载配置文件:

nginx  -s reload

至此整个项目配置完成

相关文章

网友评论

    本文标题:centos7.x下部署django项目superviosr+n

    本文链接:https://www.haomeiwen.com/subject/mhujqctx.html