linux下python3的編譯安裝以及項目運行
普通版安裝編譯python3並運行項目
最好指定目錄進行操做
1.解決系統的基礎開發工具,防止python3編譯過程出錯
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
2.獲取python3的源代碼,去官網下載便可
先cd 到opt下
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
3.解壓縮源代碼包,進入源碼包
xz -d Python-3.6.7.tar.xz #去掉.xz壓縮後綴
tar -zxvf Python-3.6.7.tar #解壓縮 tar xvJf Python-3.6.7.tgz
cd Python-3.6.7
4.編譯三部曲,幾乎全部的linux軟件,編譯安裝都是這個步驟,nginx,redis都是這樣
第一曲:指定安裝路徑
執行configure腳本文件 ,指定軟件的安裝路徑
./configure --prefix=/opt/python367/
第二曲:編譯源代碼
指定make指令 ,針對當前文件夾下的makefile開始讀取
輸入 make 便可
第三曲:開始安裝
這一步纔是生成解釋器的步驟
make install
5.配置PATH環境變量,讓命令能夠快捷執行
取出當前PATH的值
注意!!!!!PATH的值是自上而下,從前日後的讀取順序,這裏要和虛擬環境配置有關了
echo $PATH
把python3的路徑,放到最前面,由於虛擬環境的建立的時候,可能會有坑,
PATH的加載順序是自上而下的
[root@linux bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
修改PATH的值,永久修改,寫入到/etc/profile ,每次用戶登陸都加載這個文件,所以變量永久生效
vim /etc/profile 在最底行,寫入以下信息
PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
#PATH的組成部分:1. 第一個冒號前:安裝的python3下的bin目錄 2.第二個冒號後:echo $PATH的執行結果
讀取/etc/profile #讓他永久生效
命令: source /etc/profile #用source命令,去讀這個文件 內容,讓變量生效
6.上傳crm代碼到linux
xftp6軟件直接上傳到linux服務器
或能夠用xftp或者壓縮文件後,用lrzsz
7.解決crm運行的模塊依賴
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.23
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django-multiselectfield
......
8.安裝mariadb
rpm手動安裝,很噁心,解決以來關係
源代碼編譯安裝(指定安裝路徑,能夠自由選擇最新的軟件版本,能夠擴展第三方高級的功能)
yum安裝方便,自動解決依賴(安裝路徑默認,軟件倉庫版本可能太低)
yum install mariadb-server mariadb -y
經過yum安裝的軟件,均可以經過systemctl 去管理
systemctl start mariadb #啓動mariadb
systemctl stop mariadb #關閉mariadb
systemctl restart mariadb #重啓mariadb
9.導出windows的crm數據,傳遞給linux進行導入
1.先進入cmd
2.輸入mysql
3.執行 show variables like "%char%"; #character_sets_dir D:\Program Files\feiq\mysql\mysql-5.6.45-winx64\mysql-5.6.45-winx64\share\charsets\ 這就是mysql安裝路徑
4.先找到mysql的安裝路徑,進入mysql下的bin目錄,bin目錄下打開cmd,執行下面命令
5.mysqldump -u root -p crm > crm.sql #指定數據庫導出的命令
10。傳輸ignb.sql文件到linux後,進行數據導入
1.數據庫導入
方式1: 命令形式導入
得先建立好數據庫
1.systemctl start mariadb #啓動mariadb,可能用,
2.mysql #進入mysql
3.create database crm; #建庫
4.指定數據庫導入數據
mysql -uroot -p crm < crm.sql
方式2:交互式終端的導入數據
create database ignb;
use ignb ;
source /opt/ignb.sql ;
#方式一不行用方式二,能用哪一個用哪一個
2.數據庫配置
1.進入項目的settings.py
2.執行 vim settings.py
3.ALLOWED_HOSTS = ['*'] # * 表明 容許全部主機訪問,能夠設置一些地址進行限制
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'crm', #在以前建立的數據庫名字不要錯
'PORT':3306,
'HOST':'0.0.0.0', #改爲這個,正常運行數據庫的服務器地址
'USER':'root',
'PASSWORD':'' # 密碼能夠設置爲空,也能夠設置一個密碼
}
}
11.啓動crm項目
#啓動前關閉防火牆
1:查看防火狀態
systemctl status firewalld
service iptables status
2:暫時關閉防火牆
systemctl stop firewalld
service iptables stop
3:永久關閉防火牆
systemctl disable firewalld
chkconfig iptables off
4:重啓防火牆
systemctl enable firewalld
service iptables restart
python3 manage.py runserver 0.0.0.0:8000
# 可能或報下面數據庫方面的錯
You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
解決:執行 python3 manage.py migrate
虛擬環境下安裝編譯python3並運行項目
python的虛擬環境其實就是多個python解釋器而已,不會影響操做系統
# linux虛擬環境啓動代碼發佈
1.用virtualenvwrapper工具分別啓動兩個python項目
1.得先編譯安裝python3
https://www.cnblogs.com/pyyu/p/7402145.html #能夠參考博客
2.安裝編譯所需的開發環境
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
3.下載python3的源代碼
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
4.對源代碼解壓縮
[root@root_linux ]# tar -zxvf Python-3.6.7.tgz
或者tar xvJf Python-3.6.7.tgz
5.切換進入源碼
cd Python-3.6.7
6.開始編譯三部曲了
第一曲:指定軟件安裝位置
# 新建了mypro文件
[root@root_linux Python-3.6.7]
# ./configure --prefix=/opt/python367/
第二曲:開始編譯
make
第三曲:編譯安裝,生成最終的可使用的python3.6.7的解釋器
make install
7.配置PATH環境變量,能夠直接輸入python3就進入/mypro/python367/bin/python3
向要永久生效,配置環境變量,編輯/etc/profile 文件,開機就會讀取這個文件中的全部變量定義
vim /etc/profile
寫入PATH變量的值修改
PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
8.退出回話,從新登陸linux,便可加載新的PATH
9.安裝virtualenvwrapper工具
pip3 install -i https://pypi.douban.com/simple virtualenvwrapper
10.升級pip3版本命令
pip3 install --upgrade pip
11.配置環境變量,加載虛擬環境工具
vim /etc/profile
WORKON_HOME=~/Envs #設置virtualenv的統一管理目錄
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的參數,生成乾淨隔絕的環境
VIRTUALENVWRAPPER_PYTHON=/opt/python367/bin/python3 #指定python解釋器
source /opt/python367/bin/virtualenvwrapper.sh #執行virtualenvwrapper安裝腳本
12.從新登陸後,生效配置
exit
13.使用虛擬環境命令,建立新的虛擬環境用於運行項目
[root@root_linux ~]# mkvirtualenv mypro666
[root@root_linux ~]# mkvirtualenv mypro888
14.能夠用workon命令切換不一樣的虛擬環境
15.上傳本地開發好的代碼,到linux服務器上,安裝lrzsz傳輸工具,用於windows和linux傳遞文件
yum install lrzsz -y
16.壓縮windows環境開發的代碼,傳遞至服務器
rz #直接輸入此命令,接受windows的代碼
16.安裝項目運行所需的全部模塊
1.導出windows的模塊
pip3 freeze > requirements.txt
2.在linux 上安裝此文件,自動讀取文件中全部的模塊版本信息
pip3 install -r requirements.txt
3.也能夠用土方法,解決環境依賴問題
能夠用python3 manage.py runserver 0.0.0.0:9000,調試代碼,看須要哪些模塊,若是報錯哪一個模塊沒有就下載哪一個模塊
pip3 install -i https://pypi.douban.com/simple django==1.11.23
pip3 install -i https://pypi.douban.com/simple pymysql
pip3 install -i https://pypi.douban.com/simple django-multiselectfield
17.解決數據庫問題,啓動數據庫
yum install mariadb-server mariadb -y #安裝數據庫
systemctl start mariadb #啓動數據庫
18.檢查mysql是否啓動
查進程:ps -ef |grep mysql
查端口:
(mypro888) [root@root_linux IGnb]# netstat -tunlp |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 27687/mysqld
查看mariadb數據庫的服務狀態:systemctl status mariadb
19.嘗試再次啓動項目,是否正常
可能還會碰見密碼不一致的問題,須要修改settings.py
linux的ip地址:192.168.16.85 127.0.0.1 0.0.0.0(綁定這臺機器全部的ip地址)
存在多個網卡
windows的ip地址:192.168.16.64 127.0.0.1 0.0.0.0
20.修改django的配置文件settings.py修改 ALLOW_HOSTS=['*']
21.啓動django程序
python3 manage.py runserver 0.0.0.0:8000
22.運行bighg項目,上傳bighg代碼到linux服務器,解決項目運行所需的依賴
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.23
python3 manage.py runserver
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple channels
python3 manage.py runserver
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple gitpython
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple paramiko
23.在linux上安裝git
yum install git -y
24.再次運行項目,代碼發佈啓動
python3 manage.py runserver 0.0.0.0:9000
make && make install #前面正確執行了,沒報錯,後面正常執行
make || make install #前面執行失敗了,纔會執行後面的