服务器配置


centos安装python3

参考 centos下安装python3详细教程

1.python位置

使用whereis python得到python位置

[root@iz2ze3g6pyat2fqpma7zdvz django_test]# whereis python
python: /usr/bin/python /usr/bin/python.config /usr/bin/python2.7 /usr/bin/python.bak /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz

得到python的位置在 /usr/bin目录

[root@iz2ze3g6pyat2fqpma7zdvz ~]# cd /usr/bin
[root@iz2ze3g6pyat2fqpma7zdvz bin]# ll python*
lrwxrwxrwx 1 root root   32 Dec 22 19:40 python -> /usr/local/python3/bin/python3.9
lrwxrwxrwx 1 root root    9 Dec 22 18:30 python2 -> python2.7
-rwxr-xr-x 1 root root 7144 Nov 17 06:23 python2.7
-rwxr-xr-x 1 root root 1835 Nov 17 06:23 python2.7-config
lrwxrwxrwx 1 root root   16 Dec 22 18:30 python2-config -> python2.7-config
lrwxrwxrwx 1 root root   32 Dec 23 18:43 python3 -> /usr/local/python3/bin/python3.9
lrwxrwxrwx 1 root root    7 Dec 22 18:30 python.bak -> python2
lrwxrwxrwx 1 root root   39 Dec 22 19:36 python.config -> /usr/local/python3/bin/python3.9-config
lrwxrwxrwx 1 root root   14 Dec 22 18:30 python-config.bak -> python2-config

python_django:
total 20
drwxr-xr-x 2 root root 4096 Dec 23 15:33 bin
drwxr-xr-x 2 root root 4096 Dec 23 15:33 include
drwxr-xr-x 3 root root 4096 Dec 23 15:33 lib
drwxr-xr-x 3 root root 4096 Dec 23 15:33 lib64
-rw-r--r-- 1 root root  201 Dec 23 15:33 pyvenv.cfg

进入/usr/bin目录使用ll python*我们可以得到python的各种版本

->是软连接,意味这个文件是后面文件的软链接,这个python也可以看成命令

2 python3的依赖

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make 

3 安装pip

centos7没有安装pip

#运行这个命令添加epel扩展源
yum -y install epel-release
 
#安装pip
yum install python-pip

4 用pip安装wget

pip install wget

5 用wget下载python3

官网找到想要的版本链接

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

6 编译python3源码包

#解压
xz -d Python-3.6.4.tar.xz
tar -xf Python-3.6.4.tar
#进入解压后的目录,依次执行下面命令进行手动编译
cd Python-3.6.4
./configure prefix=/usr/local/python3
make && make install
# 如果出现can't decompress data; zlib not available这个错误,则需要安装相关库
#安装依赖zlib、zlib-devel
yum install zlib zlib
yum install zlib zlib-devel

7 添加软连接

#将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
 
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
 
#测试是否安装成功了
python -V

如果本身没有python3的软链接,可以再

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

8 更改yum配置

因为yum使用python2,所以需要更改一个yum的配置

vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
 
vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2

virtualenvvirtualenvwrapper

python虚拟环境

简单点说python的虚拟环境就是给每个项目一个独立的python配置,各个项目之间的配置不影响,

1 下载virtualenv

pip install virtualenv

2 创建新项目

virtualenv env

3 使用虚拟环境

source env/bin/activate

4 退出虚拟环境

deactivate

5 virtualenvwrapper安装

virtualenvwrapper 可以对虚拟环境进行集中管理

pip install virtualenvwrapper

6 添加~/.bashrc

~/.bashrc添加

export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh  

读入配置文件

source ~/.bashrc    #读入配置文件,立即生效

7 virtualenvwrapper基本使用

  • 创建虚拟环境 mkvirtualenv
mkvirtualenv venv  

 这样会在WORKON_HOME变量指定的目录下新建名为venv的虚拟环境。

  • 指定python版本

    --python指定python解释器

mkvirtualenv --python=/usr/local/python3.5.3/bin/python venv
  • 查看当前虚拟环境目录
workon
  • 切换到虚拟环境
workon xxx
  • 退出虚拟环境
deactivate
  • 删除虚拟环境
rmvirtualenv xxx

8 出错处理

出现 ModuleNotFoundError: No module named '_ctypes'

  • 安装libffi-devel
yum install libffi-devel -y
  • 重装python
  • 使用make && make install

django

1 下载

使用pip install django

2 创建django项目

django-admin startproject xxx

3 启动django

python manage.py runserver 0.0.0.0:80

4 配置文件

进入setting.py文件

在allowHost中添加自己的ip

ALLOWED_HOSTS = [
   '123.56.252.111',
   'localhost',
  '0.0.0.0:8000',                                                                   		'127.0.0.1'
     ]

这样在运行后就可以用http://123.56.252.111:8000/来访问

5 报错处理

参考

出现

django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
  • 官网找到想要版本的链接

  • 使用wget下载

#链接最好重新获取,否则可能不是最新版本
wget https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz
  • 解压安装
[root@localhost home]# tar zxvf sqlite-autoconf-3300100.tar.gz
[root@localhost home]# cd sqlite-autoconf-3300100/
[root@localhost sqlite-autoconf-3300100]# ./configure
[root@localhost sqlite-autoconf-3300100]# make & make install
  • 查看版本
#检查新安装的sqlite3版本
[root@localhost home]# /usr/local/bin/sqlite3 --version
3.30.1 2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b

#检查旧的sqlite3版本
[root@localhost home]# /usr/bin/sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668

# 把旧的sqlite3改个名字
[root@localhost home]# mv /usr/bin/sqlite3  /usr/bin/sqlite3_old

# 设置软链接
[root@localhost home]# ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3

#查看sqlite3版本
[root@localhost home]# sqlite3 --version
3.30.1 2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b
  • 添加到bashrc文件

~/.bashrc中添加

export LD_LIBRARY_PATH="/usr/local/lib"
  • 检查sqlite3版本
[root@localhost home]# python3
Python 3.6.5 (default, Jul  9 2019, 20:03:55) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.30.1'
>>> exit()  
[root@localhost home]# 

nginx

参考

1 安装

添加Nginx 存储库

sudo yum -y install epel-release

安装nginx

sudo yum -y install nginx

2 启动

启动nginx

sudo systemctl start nginx

3 防火墙

允许http通信

sudo firewall-cmd --permanent --zone=public --add-service=http

允许https通信

sudo firewall-cmd --permanent --zone=public --add-service=https

重启防火墙

sudo firewall-cmd --reload

4 测试

在浏览器输入地址

5 卸载

停止nginx

service nginx stop
// centos 7
sysyemcyl stop nginx

删除自启动

chkconfig nginx off

从源头删除nginx

rm -rf /usr/sbin/nginx
rm -rf /etc/nginx
rm -rf /etc/init.d/nginx

使用yum清理

yum remove nginx

修改root@后面的名字

centos7

hostnamectl set-hostname dhl #
hostname #查看
vim /etc/hosts # 编辑hosts文件,给127.0.0.1添加hostname

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 dhl  

重启shell生效


文章作者: Mug-9
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Mug-9 !
评论
  目录