Centos7部署Django
1.安装python3依赖包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y
因为Python3.7.0以上版本pip安装会报错ModuleNotFoundError: No module named '_ctypes'
最好在编译安装前安装。
2.通过wget下载文件工具下载python3安装包
cd usr/local/
wget --no-check-certificate https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
下载时可能会报错:::-bash: wget: command not found
yum -y install wget
3.下载完解压缩
tar -xzvf Python-3.7.2.tgz
进入解压后的Python-3.7.2文件夹,编译安装(安装到新建的application/python3)
./configure prefix=/usr/local/application/python3
make && make install
4.python创建软连接
[root@localhost bin]# ll python*
lrwxrwxrwx. 1 root root 7 11月 7 00:25 python -> python2
lrwxrwxrwx. 1 root root 9 11月 7 00:25 python2 -> python2.7
-rwxr-xr-x. 1 root root 7216 8月 7 08:52 python2.7
把python软连接到安装的python3
ln -s /usr/local/application/python3/bin/python3 /usr/bin/python
由于yum依赖于python2.7.5,把下面文件设置为Python2执行
vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
5.配置pip3
python3安装完成后默认安装了pip3,直接配置软连接即可.
ln -s /usr/local/application/python3/bin/pip3 /usr/bin/pip3
(执行pip3如果显示软连接地址和配置地址不一样而报错,可以在vim /usr/bin/pip3 查看执行路径)
6.安装虚拟环境
virtualenv可以搭建虚拟且独立的python运行环境,(yum全局,pip独立)
1.virtualenv本质上是个python包, 使用pip安装 pip3 install virtualenv #安装虚拟环境 2. 使用virtualenv创建虚拟环境: virtualenv envname #可以在virtualenv后添加 -P path 指定Python解释器程序路径 #虚拟环境拥有bin、include、lib三个文件夹。本虚拟环境所有安装的 Python库将存放在envname/lib/pythonX.X/site-packages/下。 创建虚拟环境就会装好python,把系统Python复制一份到virtualenv的环境,用命令source envname/bin/activate进入一个virtualenv环境时 virtualenv会修改相关环境变量,让命令python和pip均指向当前的virtualenv环境。 进入虚拟环境:source envname/bin/activate 退出虚拟环境:deactivate
7.确保开发环境的一致性
通过命令保证环境的一致性,导出当前python环境的包
pip3 freeze > requirements.txt
这将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及 各自的版本的简单列表。
可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表
在服务器项目内:pip3 install -r requirements.txt
8.报错问题
1 1安装:django-auth-ldap==2.0.0报如下错误 2 In file included from Modules/LDAPObject.c:8:0: 3 Modules/constants.h:7:18: 致命错误:lber.h:没有那个文件或目录 4 #include "lber.h" 5 ^ 6 编译中断。 7 error: command 'gcc' failed with exit status 1 8 yum install openldap-devel 9 2.安装mysqlclient==1.4.2.post1报如下错误 10 OSError: mysql_config not found 11 yum install mysql-devel gcc gcc-devel python-devel 12 3.pip install git+git://github.com/sshwsfc/xadmin.git@django2报错如下 13 原因:需要用https才能读到数据 14 解决方法:输入命令 git config --global url."https://".insteadOf git://
9.在后台运行 django
nohup python manage.py runserver 10.11.0.204:8000 &
查看后台某个进程:
ps -ef|grep "python"
杀死进程:
kill -9 pid
1.安装node.js
wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz
2.解压包
依次执行
xz -d node-v9.3.0-linux-x64.tar.xz
tar -xf node-v9.3.0-linux-x64.tar
3.创建软连接
ln -s /usr/local/node-v9.3.0-linux-x64/bin/node /usr/bin/node
ln -s /usr/local/node-v9.3.0-linux-x64/bin/npm /usr/bin/npm
ln -s /usr/local/node-v9.3.0-linux-x64/bin/npm /usr/bin/npx
命令:
创建:ln -s [源文件或目录] [目标文件或目录]
删除:rm –rf 软链接名称
修改:ln –snf [新的源文件或目录] [目标文件或目录]
查看软连接:ls -al
4.测试
node -v
npm
npx
5.安装启动
npm install
nohup npm run start &
nginx安装
下载:
wget http://nginx.org/download/nginx-1.10.2.tar.gz
解压:
解压:tar -zxvf nginx-1.10.2.tar.gz
进入到nginx目录:cd nginx-1.10.2
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
编译安装
make && make install
常用命令
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。