CentOS7 新機部署Django應用筆記

HOST

[root@iZwz95v28cjpudhp2sikufZ ~]# hostctl status
-bash: hostctl: 未找到命令
[root@iZwz95v28cjpudhp2sikufZ ~]# hostnamectl
   Static hostname: iZwz95v28cjpudhp2sikufZ
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 7d26c16f128042a684ea474c9e2c240f
           Boot ID: 1a7a794ac5db4f07b54136317c5fbd0f
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-327.36.3.el7.x86_64
      Architecture: x86-64

hostnamectl

在7版本中,hostname有三種形式

靜態(Static host name)

動態(Transient/dynamic host name)

別名(Pretty host name)

查詢主機名

hostnamectl或hostctl status 查詢主機名
hostnamectl status [–static|–transient|–pretty]

修改hostname
hostnamectl set-hostname servername [–static|–transient|–pretty]

刪除hostname

hostnamectl set-hostname “”
hostnamectl set-hostname “” –static
hostnamectl set-hostname “” –pretty

修改配置文件
hostname name
vim /etc/hostname

通過nmtui修改,之後重啓hostnamed

systemctl restart systemd-hostnamed

通過nmcui修改,之後重啓hostnamed
nmcli general hostname servername
systemctl restart systemd-hostnamed

====================================

adduser myself passwd mysqlf
chmod -v u+w /etc/sudoers vim /etc/sudoers
Allow root to run any commands anywher root ALL=(ALL) ALL myself ALL=(ALL) ALL #這個是新增的用戶

chmod -v u-w /etc/sudoers

MYSQL

下載mysql源安裝包

shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

安裝mysql源

shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

檢查

shell> yum repolist enabled | grep “mysql.-community.

安裝

shell> yum install mysql-community-server

啓動

shell> systemctl start mysqld

car /var/log/mysqld.d。。。 有時候看不到
====修改/etc/my.cnf,在 [mysqld] 小節下添加一行:skip-grant-tables=1

這一行配置讓 mysqld 啓動時不對密碼進行驗證

2、重啓mysqld 服務:systemctl restart mysqld

3、使用 root 用戶登錄到 mysql:mysql -uroot

4、切換到mysql數據庫,更新 user 表:

update user set authentication_string = password(‘123456’),password_expired = ‘N’, password_last_changed = now() where user = ‘root’;

在之前的版本中,密碼字段的字段名是 password,5.7版本改爲了 authentication_string

5、退出 mysql,編輯 /etc/my.cnf 文件,刪除 skip-grant-tables=1的內容

6、重啓mysqld 服務,再用新密碼登錄即可

wget http://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz

tar -zxvf Python-3.6.0.tar

進入解壓縮後的文件夾

cd Pytho___<tab>

在編譯前先在/usr/local建一個文件夾python3(作爲python的安裝路徑,以免覆蓋老的版本),需要使用sudo權限

mkdir /usr/local/python3

開始編譯安裝

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

--prefix=/usr/local/python3生成makefile文件,其中安裝目錄(linux下的安裝就是編譯鏈接後將文件拷貝到系統路徑中)指定,make就會編譯鏈接makefile中的目標文件,make install執行makefile中的安裝選項,完成安裝。

此時沒有覆蓋老版本,再將原來/usr/bin/python鏈接改爲別的名字

mv /usr/bin/python /usr/bin/python_old

再建立新版本python的鏈接

ln -s /usr/local/python3/bin/python3 /usr/bin/python

這個時候輸入

python   #就會顯示出python的新版本信息
Python 3.1.2 (r312:79147, Oct 21 2012, 01:03:21))
[GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

如果不建立新安裝路徑python3,而是直接默認安裝,則安裝後的新python應該會覆蓋linux下自帶的老版本,也有可能不覆蓋,具體看安裝過程了,這個大家可以自己試驗下,當然如果還想保留原來的版本,那麼這種方法最好不過了。

還可以使python2和python3共存,也就是不要修改老版本的名字;創建新版本的名字是命名爲python3。

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

這樣,輸入python會進入老版本;輸入python3會進入新版本,兩者共存,則需使用

、CentOS 安裝easy_install、pip的方法            

CentOS 安裝easy_install的方法:

wget -q http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
8、CentOS安裝python包管理安裝工具pip的方法如下:

wget –no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz

注意:wget獲取https的時候要加上:–no-check-certificate

tar zvxf 1.5.5 #解壓文件
cd pip-1.5.5/
python3 setup.py install

OK,這樣就安裝好pip了,

PS 截止使用 wget 安裝Linux的Anaconda 安裝包; 可以免掉很多Python 包的安裝。
安裝容易缺少bzip2包
yum install -y bzip2

apache2

mysql —-遠程連接

方法二、直接授權(推薦)

  從任何主機上使用root用戶,密碼:youpassword(你的root密碼)連接到mysql服務器:

mysql -u root -proot

mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

操作完後切記執行以下命令刷新權限

FLUSH PRIVILEGES

wsgi

 yum install -y httpd-devel
pip3 install mod_wsgi

子進程 mod_wsgi 覆蓋

No module Python_path

echo 'Python 3.5.2 is not installed, installing Python 3 pre-requisites...'
yum -y groupinstall development

echo 'Installing extra packages for Python...'
yum -y install zlib-devel openssl-devel sqlite-devel bzip2-devel python-devel openssl-devel libffi-devel openssl-perl libjpeg-turbo-devel zlib-devel giflib ncurses-devel gdbm-devel xz-devel tkinter readline-devel tk tk-devel

echo 'Installing Python 3.5.2...'
wget -q 'https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz'
tar -xzf 'Python-3.5.2.tgz'
cd ./Python-3.5.2
CXX=g++ ./configure --enable-shared
make

echo 'Moving to alternate location to keep system Python version intact...'
make altinstall
cd ..
rm Python-3.5.2.tgz
rm -rf ./Python-3.5.2
ln -fs /usr/local/bin/python3.5 /usr/bin/python3.5
echo "/usr/local/lib/python3.5" > /etc/ld.so.conf.d/python35.conf
echo "/usr/local/lib" >> /etc/ld.so.conf.d/python35.conf
ldconfig

echo 'Now, install mod_wsgi...'
wget -q "https://github.com/GrahamDumpleton/mod_wsgi/archive/4.4.21.tar.gz"
tar -xzf '4.4.21.tar.gz'
cd ./mod_wsgi-4.4.21
./configure --with-python=/usr/local/bin/python3.5
make
make install

ldd /etc/httpd/modules/mod_wsgi.so

=======mod_wsgi4.5.15

make distclean
./configure --with-python=/usr/local/bin/python3.5
LD_RUN_PATH=/usr/local/lib make
sudo make install
#################### 核心 #### vim /etc/ /config''

cd  /etc/ld.so.conf.d
vim python3.conf >>>+++ /anaconda3/python3
ldconfig 

mod_wsgi 錯誤部分

=====================ERROR====================
1074 vim /etc/ld.so.conf
1075 ldconfig
上面的問題解決shared; No module named encoding; mod_wsgi要用源碼下載shared編譯。4.5.15

 ./configure --prefix=/home/myself/anaconda3/python3.5 --enable-shared    --enable-loadable-sqlite-extensions

=====No slotmem from mod_heartmonitor—======

這些消息是無關的。通常遇到來自mod_heartmonitor的“AH02282:No slotmem”消息(實際上並不是錯誤),但仍然有一個運行正常的服務器。

PS 通常,您可以通過從httpd.conf註釋心跳負載平衡器方法模塊來禁止該消息(除非您實際使用它)。有人建議在默認配置中將其禁用,但顯然還沒有。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章