CentOS7 配置 Nginx+Mysql+uWSGI+Django
第一次用CentOS7作服务器,要把项目转移过来。作为新手为了避免出错各版本还是用之前的。
- Python 3.5.2
- uWSGI 2.0.17
- Django 1.11.7
- nginx 1.10.2
- Mysql 5.7.20
安装
Python
1.安装Python 的依赖包
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2.下载Python3.5的源码包并编译
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
tar xf Python-3.5.0.tgz
cd Python-3.5.0
./configure --prefix=/usr/local --enable-shared
make
make install
# 创建python3软链接
ln –s /usr/local/bin/python3 /usr/bin/python3
3.在运行Python之前需要配置库:
echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf
ldconfig
4.源码自带了pip,升级一下就好
python3 -m pip install --upgrade pip
uWSGI与Django
直接pip安装即可
pip3 install django==1.11.7
pip3 install uwsgi
大佬们说安装在虚拟环境下更佳,我原来也是这么干的,但是这服务器上只有这一个项目,也就没上
或者使用pip在开发环境中导出安装的三方库,然后在运行环境下安装
pip3 freeze > requirements.txt #在开发环境下,这里最好是虚拟环境,不然没用的包太多
pip3 install -r requirements.txt #在目标服务器上
这样可以一次性把所有需要的三方库全部安装
Nginx
需要指定版本的话去http://nginx.org/download/目录下找自己需要的 ,然后(以我想装的版本为例)
···
wget http://nginx.org/download/nginx-1.10.2.tar.gz
cd nginx-1.10.2
./configure
make && make install
···
不需要指定版本的话直接yum安装就可以了
yum install -y nginx
MySQL
直接yum安装
配置
待续。。。
问题
python3.5安装报错
python3.5: error while loading shared libraries: libpython3.5m.so.1.0: cannot open shared object file: No such file or directory
原因是因为python运行时没有加载到libpython3.5m.so.1.0 这个库文件 将其复制到响应目录OK
解决方法:
[root@www Python-3.5.0]# cd /root/test/Python-3.5.0 进入解压后的编译目录
[root@www Python-3.5.0]# cp libpython3.5m.so.1.0 /usr/local/lib64/
[root@www Python-3.5.0]# cp libpython3.5m.so.1.0 /usr/lib/
[root@www Python-3.5.0]# cp libpython3.5m.so.1.0 /usr/lib64/
安装mysqlclient报OSError: mysql_config not found错误的解决办法
yum install mysql-devel gcc gcc-devel python-devel