日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

django-内网项目上线测试部署步骤

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 django-内网项目上线测试部署步骤 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.安裝python環境

由于測試環境只有內網,所以在外網同系統上安裝python.

wget?https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz

yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ zlib*?sqlite-devel

mkdir /home/python3?

xz –d Python-3.6.5.tgz.xz

tar -zxvf Python-3.6.5.tgz
cd Python-3.6.5

./configure --prefix=/home/python3

make && make install

2.安裝django等第三方庫

/home/python3/bin/pip3? ?install -r requirements.txt? ? ?#該文件一般放在項目目錄上

request pymysql paramiko pymongo==3.7.0 django==1.11.10 django-celery==3.2.1 celery==3.1.20 redis

用django?新建個項目測試測試,有少庫的,就裝上

/home/python3/bin/django-admin startproject newtest

/home/python3/bin/python3 manage.py runserver 0.0.0.0:8087? 運行沒錯就下一步,有錯就根據錯誤信息解決,一般少庫就裝庫。

?如報這個錯:

File "/home/python3/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 198, in get_new_connection conn = Database.connect(**conn_params) django.db.utils.NotSupportedError: URIs not supported ^Z [1]+ Stopped /home/python3/bin/python3 manage.py runserver 0.0.0.0:8087

原因分析,這是sqlite3版本3.7的通病,安裝3.8的就可以,這里我采用修改源碼的方式,直接打開

"/home/python3/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py"這個文件,修改修改大概198行,通過搜索uri查找。 # between multiple threads. The safe-guarding will be handled at a# higher level by the `BaseDatabaseWrapper.allow_thread_sharing`# property. This is necessary as the shareability is disabled by# default in pysqlite and it cannot be changed once a connection is# opened.if 'check_same_thread' in kwargs and kwargs['check_same_thread']:warnings.warn('The `check_same_thread` option was provided and set to ''True. It will be overridden with False. Use the ''`DatabaseWrapper.allow_thread_sharing` property instead ''for controlling thread shareability.',RuntimeWarning)kwargs.update({'check_same_thread': False})if self.features.can_share_in_memory_db:kwargs.update({'uri': False}) #這里原來是True,修改為False就可以了return kwargs

3.安裝數據庫

mongodb:

下載:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.0.tgz 解壓可用 ln -s /home/mongodb/bin/mongo /usr/local/bin/mongo ln -s /home/mongodb/bin/mongod /usr/local/bin/mongod 添加到環境變量在mongodb文件夾再里創建三個文件夾: mkdir data //用來存放數據庫數據 mkdir logs //用來存放日志文件 mkdir etc //用來存放配置文件 接下來,進入到logs文件夾里創建 mongo.log文件:touch mongo.log 再到etc文件夾里創建 mongo.conf文件:touch mongo.conf 通過vi命令打開mongo.conf編輯內容: vi mongo.confdbpath=/home/mongodb/data logpath=/home/mongodb/logs/mongo.log logappend=true journal=true quiet=true port=27017啟動:mongod -f /home/mongodb/etc/mongo.conf 另一個窗口: mongo use admin db.createUser({user:"admin",pwd:"mima",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]}) 創建管理員 use filedb db.createUser({user:"file",pwd:"mima",roles:[{"role":"readWrite","db":"filedb"}]}) 創建普通用戶 啟動:mongod -f /home/mongodb/etc/mongo.conf --fork --auth 停:kill 或者rm /home/mongodb/data/mongod.lock

redis:

安裝:1.下載:wget http://download.redis.io/releases/redis-4.0.8.tar.gz2.解壓:tar xzvf redis-4.0.8.tar.gz3.安裝cd redis-4.0.8makecd srcmake install PREFIX=/usr/local/redis 4.移動配置文件到安裝目錄下cd ../mkdir /usr/local/redis/etcmv redis.conf /usr/local/redis/etc5.配置redis為后臺啟動vi /usr/local/redis/etc/redis.conf //將daemonize no 改成daemonize yes 6.將redis加入到開機啟動(也可以不要,但機器重啟要記得手動開啟)vi /etc/rc.local //在里面添加內容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是開機調用這段開啟redis的命令) 7.開啟redis/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 常用命令  redis-server /usr/local/redis/etc/redis.conf //啟動redispkill redis //停止redis卸載redis:rm -rf /usr/local/redis //刪除安裝目錄rm -rf /usr/bin/redis-* //刪除所有redis相關命令腳本rm -rf /root/download/redis-4.0.4 //刪除redis解壓文件夾

mysql:

1下載:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz 2、解壓tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz #復制解壓后的mysql目錄 cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql 3、添加用戶組和用戶 #添加用戶組 groupadd mysql #添加用戶mysql 到用戶組mysql useradd -g mysql mysql 4、安裝 cd /usr/local/mysql/
mkdir ./data/mysql chown -R mysql:mysql ./ ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql cp support-files/mysql.server /etc/init.d/mysqld chmod 755 /etc/init.d/mysqld cp support-files/my-default.cnf /etc/my.cnf#修改啟動腳本 vi /etc/init.d/mysqld#修改項: basedir=/usr/local/mysql/ datadir=/usr/local/mysql/data/mysql#啟動服務 service mysqld start#測試連接 ./mysql/bin/mysql -uroot#加入環境變量,編輯 /etc/profile,這樣可以在任何地方用mysql命令了 export PATH=$PATH:/usr/local/mysql //bin
source /etc/profile
#啟動mysql service mysqld start #關閉mysql service mysqld stop #查看運行狀態 service mysqld status

? 修改mysql的登錄密碼

? >mysql? set password=password('root');

? >mysql??grant all privileges on *.* to?root@'%'?identified by 'root';

? >mysql? flush privileges;

?

yum install mariadb-server mariadb #有做離線源的也可以這么做

4.配置項目

拷貝nops這個項目的文件到服務器上,例如 /home/www?這個目錄

添加權限:chomd +x /home?

視情況可將 /home?修改為nginx用戶:?chown -r nginx:nginx /home

修改配置: \home\www\nops\nops\settings.py

把里面數據庫配置都修改為我們創建的

5.啟動

因為我們的項目用了celery?所以先要啟動這個

后臺啟動celery:?

/home/python3/bin/python3 /home/www/nops/manage.py celery worker --loglevel=info >/dev/null 2>&1 & 有定時任務的話,還需要啟動心跳: /home/python3/bin/python3 /home/www/nops/manage.py celery beat >> /home/www/nops/celery.log 2>&1 &

啟動項目:? 先

/home/python3/bin/python3 /home/www/nops/manage.py runserver 0.0.0.0:8087

測試沒問題就可以配置uwsgi

6.使用uwsgi部署

安裝 uwsgi

sudo??pip?install?uwsgi?--upgrade

使用 uwsgi 運行項目

uwsgi?--http?:8001?--chdir /home/www/nops??--module?nops.wsgi

這樣就可以跑了,project.wsgi 指的是 /home/www/nops/wsgi.py 文件

這樣只是測試,正式環境下:

先編寫uwsgi.ini文件:

[uwsgi] #home=/home/qitanl/pyenv/soms chdir=/home/www/nops # Django項目根目錄 (絕對路徑) module=nops.wsgi:application master=True # process-related settings # master pidfile=/home/www/nops/vm.pid vacuum=True # clear environment on exit max-requests=1000 daemonize=/home/www/nops/v_uwsgi.log socket = 0.0.0.0:10000 #真實服務的端口 #http = 0.0.0.0:8082

其中soms?改為只能項目名字就行。#是注釋掉的,這里保留做學習助于理解。

啟動:uwsgi --ini?uwsgi.ini

啟動成功后uwsgi會占用10000端口運行該項目,但要注意這里沒配http,所以不能直接用http訪問。

7.安裝配置nginx

yum install nginx

安裝nginx

然后添加配置文件:

server {listen 8082;server_name nops.com;index index.html;location / {root /home/www/nops;##uwsgiuwsgi_pass 127.0.0.1:10000;include uwsgi_params;uwsgi_param UWSGI_CHDIR /home/www/nops;uwsgi_param UWSGI_SCRIPT wsgi;}location ~ .*\.(log|php|pl|py|sh|cgi)$ {return 403;}location /static/ {alias /home/www/nops/static;autoindex on;}location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {root /home/www/nops;expires 30d;}location ~ .*\.(js|css)?(.*){root /home/www/nops;expires 12h;} }

重啟:

cd /etc/rc.d/init.d
# ./nginx stop
Stopping nginx: [ OK ]
# ./nginx start
Starting nginx:? ?[ OK ]

到此訪問:?ip:8082端口即可看到項目

?

轉載于:https://www.cnblogs.com/CGCong/p/9399298.html

總結

以上是生活随笔為你收集整理的django-内网项目上线测试部署步骤的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。