nginx_centos部署django项目

简介: nginx_centos部署django项目

环境准备

pip list 导出

pip freeze > ./requirements.txt

pip list 安装

 pip install -r ./requirements.txt

更新

更新软件包

$ yum update -y
$ yum -y groupinstall "Development tools"
$ yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel

python3

在/usr/local下载python3,解压并进入解压目录安装

$ cd /usr/local
$ wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
$ tar -zxvf Python-3.6.6.tgz
$ cd Python-3.6.6

安装路径

$ ./configure --prefix=/usr/local/python3
$ make
$ make install

链接,全局使用python3和pip3

$ ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
$ ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

查看
image.png

virtualenv

pip 安装

$ pip3 install virtualenv

链接

$ ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

创建夹存放网站文件和指定虚拟环境文件
wwwroot,env

$ mkdir -p /data/env
$ mkdir -p /data/wwwroot

image.png

指定虚拟环境

$ virtualenv --python=/usr/bin/python3 pyweb

指定虚拟环境

进入env目录指定虚拟环境python3

$ cd /data/env/
$ virtualenv --python=/usr/bin/python3 pyweb
$ cd /data/env/pyweb/bin
$ source activate

成功配置(对应指定的pyweb名)
image.png

虚拟环境安装django
安装django和项目的django版本一致
查看项目的django版本
image.png

在虚拟环境安装django和uwsgi,退出虚拟环境再次安装uwsgi
虚拟环境下链接uwsgi

$ pip3 install django==2.1.1
$ pip3 install uwsgi
$ ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
$ deactivate

部署django

上传

使用fiezilla上传django项目到/data/wwwroot下
image.png

migrate、makemigratons

image.png

进入虚拟环境的democase下

$ cd /data/env/pyweb/bin
$ source activate
$ cd /data/wwwroot/democase/
$ python3 manage.py migrate
$ python3 manage.py makemigrations
$ python3 manage.py runserver

image.png

配置uwsgi

xml配置

项目下创建democase.xml

<uwsgi>
        <socket>127.0.0.1:1998</socket>
        <chdir>/data/wwwroot/democase/</chdir>
        <module>democase.xml</module>
        <processes>20</processes>
        <daemonize>uwsgi.log</daemonize>
</uwsgi>

启动uwsgi

#启动uwsgl
$ uwsgi -x democase.xml
#uwsgi有没有启动成功,可以用下面的命令查看
$ ps -ef|grep uwsgi
#如果想重启uwsgi,先使用下面的命令杀掉进程,再启动uwsgi
$ killall -9 uwsgi

安装nginx

安装

$ cd /home/
$ wget http://nginx.org/download/nginx-1.13.7.tar.gz
$ tar -zxvf nginx-1.13.7.tar.gz
$ cd nginx-1.13.7
$ ./configure
$ make
$ make install

配置nginx.conf
先备份再修改

$ cp nginx.conf nginx.conf.bak

修改(根据需求修改)

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen 80;
        server_name  127.0.0.1:80;
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:1998;  #端口要和uwsgi里配置的一样
           uwsgi_param UWSGI_SCRIPT democase.wsgi;  #wsgi.py所在的目录名
           uwsgi_param UWSGI_CHDIR /data/wwwroot/democase/; #项目路径
           
        }
        location /static/ {
        alias /data/wwwroot/democase/static/; #静态资源路径
        }
    }
}

image.png

进入nginx配置

$ cd /usr/local/nginx/sbin/
$ ./nginx -t
$ ./nginx

加载democase.xml

$ cd /data/wwwroot/democase/
$ uwsgi -x mysite.xml
$ cd /usr/local/nginx/sbin/
$ ./nginx -s reload

访问ip错误问题

$ yum install iptables-services
$ systemctl mask firewalld.service
$ systemctl enable iptables.service
$ systemctl enable ip6tables.service
$ vim /etc/sysconfig/iptables

添加

-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT(vsftpd配置的端口)
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

开放http和80端口

$ systemctl restart iptables.service
$ systemctl start firewalld
$ firewall-cmd --permanent --add-service=http
$ firewall-cmd --permanent --zone=trusted --add-port=80/tcp

完成

ok,完成!
image.png

升级sqlite3

改名
软连接
设置临时变量,但是重启之后会失效

# /usr/local/bin/sqlite3 --version
# mv /usr/bin/sqlite3  /usr/bin/sqlite3_old
# ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
#  export LD_LIBRARY_PATH="/usr/local/lib"

建议/etc/profile之后追加export LD_LIBRARY_PATH="/usr/local/lib"

# vi /etc/profile
# source /etc/profile
目录
相关文章
|
2月前
|
弹性计算 运维 监控
快速部署 Nginx 社区版
Nginx是一个高性能的HTTP和反向代理服务器。Nginx在计算巢上提供了社区版服务,您无需自行配置云主机,即可在计算巢上快速部署Nginx服务、实现运维监控,从而方便地基于Nginx搭建您自己的应用。本文介绍使用如何通过计算巢快速部署Nginx社区版。
快速部署 Nginx 社区版
|
2月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
129 0
|
2月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
117 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
100 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
89 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
1月前
|
中间件 应用服务中间件 nginx
Nginx+uWSGI+Django原理
Nginx+uWSGI+Django原理
|
1月前
|
前端开发 JavaScript 应用服务中间件
使用nginx部署网站
使用nginx部署网站
|
1月前
|
JavaScript 应用服务中间件 nginx
nginx部署vue项目
本文介绍了将Vue项目部署到Nginx的步骤,包括构建Vue项目、上传dist文件夹到服务器、安装Nginx、配置Nginx代理静态文件以及重启Nginx,确保了Vue应用可以通过域名或IP地址访问。
98 1
|
1月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
233 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
1月前
|
Kubernetes 应用服务中间件 nginx
k8s基础使用--使用k8s部署nginx服务
本文介绍了Kubernetes中核心概念Deployment、Pod与Service的基本原理及应用。Pod作为最小调度单元,用于管理容器及其共享资源;Deployment则负责控制Pod副本数量,确保其符合预期状态;Service通过标签选择器实现Pod服务的负载均衡与暴露。此外,还提供了具体操作步骤,如通过`kubectl`命令创建Deployment和Service,以及如何验证其功能。实验环境包括一台master节点和两台worker节点,均已部署k8s-1.27。
151 1