Django==2.0 Python==3.6.9
使用tar命令解壓縮,tar是Linux系統(tǒng)下的壓縮與解壓縮的命令除秀,tar命令后面的參數(shù)主要有以下幾種:
下面的五個參數(shù)為必選參數(shù),有且只能有一個 ,代表壓縮與解壓縮的模式:
-c: 建立壓縮檔案
-x:解壓
-t:查看內(nèi)容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
可選參數(shù),可以一個或者多個并用:
-z:有g(shù)zip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標準輸出
Python下載地址
補充安裝python 設(shè)置ssl文件導(dǎo)入缆镣,不設(shè)置會導(dǎo)致些問題
vi編輯器查找字符命令 在命令輸入模式下輸入 :/_socket
1.安裝python
#解壓命令如下
tar -xzvf Python-3.6.9.tgz
#安裝依賴
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel
#進入解壓文件目錄配置安裝路徑
./configure --prefix=/usr/local/python3
#安裝zlib依賴和更新zlib
yum -y install zlib*
yum update zlib
#安裝Python
make && make install
結(jié)尾顯示如下表示安裝完成
Looking in links: /tmp/tmptrardd19
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-18.1 setuptools-40.6.2
創(chuàng)建Python軟連接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
驗證是否安裝正確
[root@VM_0_17_centos bin]# python3
Python 3.6.9 (default, Dec 11 2019, 15:28:02)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
創(chuàng)建pip3軟連接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
更新pip
pip3 install --upgrade pip
安裝虛擬環(huán)境
pip3 install virtualenv
查找文件
find / -name virtualenv
用命令創(chuàng)建虛擬環(huán)境
/usr/local/python3/bin/virtualenv my_web_project
激活環(huán)境
source bin/activate
安裝Django
我個人用的Django==2.0
pip3 install Django==2.0
2.安裝MySql
mysql國內(nèi)鏡像
查看禁用
yum repolist all | grep mysql
修改禁用(enabled=0是關(guān);1是開)
vim /etc/yum.repos.d/mysql-community.repo
查看mysql安裝包
yum repolist all | grep mysql
rpm -qa | grep mysql
[root@VM_0_17_centos ~]# rpm -qa | grep mysql
mysql-community-client-5.6.41-2.el7.x86_64
mysql-community-release-el7-5.noarch
mysql-community-devel-5.6.41-2.el7.x86_64
mysql-community-server-5.6.42-2.el7.x86_64
mysql-community-libs-5.6.41-2.el7.x86_64
mysql-community-common-5.6.42-2.el7.x86_64
如果有安裝過5.6的最好卸載掉安裝5.7及以上
卸載
[root@VM_0_17_centos ~]# yum remove mysql-community*
下載mysql
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
執(zhí)行安裝
yum -y install mysql mysql-server mysql-devel
安裝完成顯示如下
Dependency Installed:
mysql-community-common.x86_64 0:5.6.46-2.el7 numactl-libs.x86_64 0:2.0.12-3.el7_7.1
perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7
perl-IO-Compress.noarch 0:2.061-2.el7 perl-Net-Daemon.noarch 0:0.48-5.el7
perl-PlRPC.noarch 0:0.2020-14.el7
Replaced:
mariadb-libs.x86_64 1:5.5.52-1.el7
Complete!
如果發(fā)現(xiàn)安裝速度過慢我們可以更換一下源(阿里源)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_old
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
如果還是過慢就自己下載軟件包傳上去(下面是緩存路徑)
/var/cache/yum/x86_64/7/mysql57-community/packages/
啟動mysql服務(wù)
service mysqld start
進入數(shù)據(jù)庫(初始密碼為空)
mysql -u root -p
修改root密碼
set password for root@localhost = password('自己的密碼');
3.配置數(shù)據(jù)庫
[在mysql shell環(huán)境下執(zhí)行]
創(chuàng)建項目所需的數(shù)據(jù)庫(xxx數(shù)據(jù)庫名稱)自己替換
create database xxx default charset=utf8mb4 default collate utf8mb4_unicode_ci;
創(chuàng)建用戶(xxx用戶名),(yyy密碼)自己替換
create user 'xxx'@'localhost' identified by 'yyy';
用戶分配權(quán)限(xxx數(shù)據(jù)庫名稱)试浙,(nnn用戶名)自己替換
grant all privileges on xxx.* to 'nnn'@'localhost';
刷新
flush privileges;
額外內(nèi)容manage.py數(shù)據(jù)庫操作
導(dǎo)出數(shù)據(jù)
[SQLite3]
python manage.py dumpdata > data.json
[mysql 在數(shù)據(jù)庫調(diào)用]
mysqldump -u xxx -p xxx.db > data.sql
導(dǎo)入數(shù)據(jù)
[SQLite3]
python manage.py loaddata data.json
[mysql 在mysql shell下調(diào)用]
進入數(shù)據(jù)庫
source xxx.sql;
文件上傳scp[user用戶名董瞻,ip服務(wù)器IP,xxx是文件]
scp xxx.xx user@IP:/home/xxx.xx
4.安裝uwsgi
uwsgi文檔
在系統(tǒng)環(huán)境下安裝田巴,非虛擬環(huán)境
pip3 install uwsgi
uwsgi測試
-------------------------代碼------------------------------
創(chuàng)建boobar.py文件
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
-------------------------代碼------------------------------
啟動測試
/usr/local/python3/bin/uwsgi --http :9090 --wsgi-file foobar.py
打開網(wǎng)頁訪問9090端口看是否返回Hello World
關(guān)閉uwsgi
ps -aux | grep uwsgi |awk '{print $2}'|xargs kill -9
配置uwsgi.ini文件
-------------------------代碼------------------------------
# Web.ini file path;/home/Web_uwsgi/Web.ini
[uwsgi]
#此處填寫項目地址钠糊,我的Django項目地址是/home/WebProject
chdir = /home/WebProject
#虛擬環(huán)境的目錄
home = /home/my_web_project
# wsgi文件
module = WebProject.wsgi:application
# process-related settings
# master
master = True
# 進程數(shù)量
processes = 4
#最大請求
max-requests = 5000
#請求超時時間(單位秒)
harakiri = 60
#設(shè)置監(jiān)聽端口
socket = 127.0.0.1:8001
#使用用戶組,使用root用戶比較危險
uid = 1000
gid = 2000
#快捷啟動重啟目錄
pidfile = /home/Web_uwsgi/master.pid
#此處配置的為日志文件存放的地方
daemonize = /home/Web_uwsgi/my_uwsgi.log
#服務(wù)器停止后進行回收log文件等操作
vacuum = True
-------------------------代碼------------------------------
啟動uwsgi.ini
uwsgi --ini /home/Web_uwsgi/Web.ini
查看是否啟動
ps -aux | grep uwsgi
打印如下就說明以啟動
1000 12782 0.0 1.5 229732 29208 ? S 14:33 0:00 /usr/local/python3/bin/uwsgi --ini web.ini
1000 12790 0.0 1.2 229732 23788 ? S 14:33 0:00 /usr/local/python3/bin/uwsgi --ini web.ini
1000 12791 0.0 1.2 229732 23788 ? S 14:33 0:00 /usr/local/python3/bin/uwsgi --ini web.ini
1000 12792 0.0 1.2 229732 23788 ? S 14:33 0:00 /usr/local/python3/bin/uwsgi --ini web.ini
1000 12793 0.0 1.2 229732 23788 ? S 14:33 0:00 /usr/local/python3/bin/uwsgi --ini web.ini
5.安裝nginx
準備工具
sudo yum install yum-utils
創(chuàng)建nginx.repo文件
sudo vim /etc/yum.repos.d/nginx.repo
并添加以下內(nèi)容
-----------------------------Code---------------------------------
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
-----------------------------Code---------------------------------
編輯配置文件
vim /etc/nginx/conf.d/myconf.conf
-----------------------------Code---------------------------------
#Nginx反向代理服務(wù)器壹哺,主要功能就是將發(fā)送到指定端口的數(shù)據(jù)轉(zhuǎn)發(fā)到相應(yīng)的服務(wù)器中
server {
listen 80; # 監(jiān)聽80端口
server_name WebObject; # 路徑前面的url名稱抄伍,也就是你在瀏覽器中輸入訪問這個服務(wù)器的網(wǎng)址,比如1.1.1.10
access_log /var/log/nginx/access.log main; # Nginx日志配置
charset utf-8; # Nginx編碼
client_max_body_size 75M;#最大上傳大小
error_page 404 /404.html; # 配置notfound錯誤頁面
error_page 500 502 503 504 /50x.html; # 配置50X錯誤頁面
# 指定項目路徑uwsgi管宵,此處配置的就是Nginx和uwsgi之間的代理
location / {
include /etc/nginx/uwsgi_params; # 導(dǎo)入Nginx的模塊截珍,這個模塊是用來和uWSGI進行通訊的
uwsgi_connect_timeout 30; # 設(shè)置連接uWSGI超時時間
uwsgi_pass 127.0.0.1:8001; # 指定uwsgi的sock文件,此處填寫要和uwsgi配置文件中的socket后面是一樣的
}
location /media/{
alias /home/WebProject/media;
}
# 指定靜態(tài)文件路徑箩朴,此處指定你的CSS和JS的文件路徑岗喉,也就是你Django項目中的靜態(tài)文件夾的地址,配置不好炸庞,所有的CSS以及JS效果都看不到
location /static/ {
alias /home/WebProject/static;
#index index.html index.htm;
}
}
-----------------------------Code---------------------------------
檢測配置文件是否正確(正確打印如下) nginx -t
[root@VM_0_17_centos Web_uwsgi]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
啟動nginx服務(wù)
service nginx restart
查看以運行服務(wù)
netstat -ntpl
重新加載uwsgi
uwsgi --reload uwsgi.pid
ps -ef | grep uwsgi