Install Python+Django+Nginx+UWSGI

一、软件环境:

CentOS6.6_64bit

需要用到的软件:

[root@django tools]# ll
总用量 33336
-rw-r--r-- 1 root root  7497785 3月   2 21:45 Django-1.9.12.tar.gz
-rw-r--r-- 1 root root   911509 2月  27 18:32 nginx-1.10.3.tar.gz
-rw-r--r-- 1 root root  1197370 3月   2 13:30 pip-9.0.1.tar.gz
-rw-r--r-- 1 root root 20566643 6月  26 2016 Python-3.5.2.tgz
-rw-r--r-- 1 root root   641502 3月   2 18:50 setuptools-19.6.tar.gz
-rw-r--r-- 1 root root  2515143 3月   2 13:33 sqlite-autoconf-3170000.tar.gz
-rw-r--r-- 1 root root   788971 3月   2 13:35 uwsgi-2.0.14.tar.gz

二、开始安装 Python+Django+Nginx+UWSGI

1、安装setuptools

不要问为什么安装这些包?不提前安装,你就等着后面报错吧! (-_-)

[root@django tools]# yum install pcre pcre-devel openssl openssl-devel zlib -y

[root@django tools]# ll 
628 -rw-r--r-- 1 root root 641502 3月   2 18:50 setuptools-19.6.tar.gz

[root@django tools]# tar xf setuptools-19.6

[root@django tools]# cd setuptools-19.6

[root@django tools]#python setup.py install
[root@django tools]#cd ..

如果出现错误:

  File "/usr/local/python3/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/home/nulige/tools/setuptools-19.6/setuptools/command/bdist_egg.py", line 223, in run
    dry_run=self.dry_run, mode=self.gen_header())
  File "/home/nulige/tools/setuptools-19.6/setuptools/command/bdist_egg.py", line 464, in make_zipfile
    z = zipfile.ZipFile(zip_filename, mode, compression=compression)
  File "/usr/local/python3/lib/python3.5/zipfile.py", line 987, in __init__
    _check_compression(compression)
  File "/usr/local/python3/lib/python3.5/zipfile.py", line 611, in _check_compression
    "Compression requires the (missing) zlib module")
RuntimeError: Compression requires the (missing) zlib module

解决方法:

  yum install zlib zlib-devel  

  安装完成后,重新编译 python3.X【不需要删除,只需要重新编译make && make install,安装就行了】

2、安装pip

[root@django tools]# ll 
-rw-r--r-- 1 root root 1197370 3月   2 13:30 pip-9.0.1.tar.gz

[root@django tools]# tar xf pip-9.0.1.tar.gz 

[root@django tools]# cd pip-9.0.1

[root@django pip-9.0.1]# python setup.py install
[root@django pip-9.0.1]# cd ..

#配置环境变量:

[root@django bin]# vi /etc/profile
export PATH="/usr/local/python3/bin:$PATH"

  [root@django bin]# tail -1 /etc/profile
  export PATH="/usr/local/python3/bin:$PATH"

  [root@django bin]# source /etc/profile

  #查看帮助

  [root@django bin]# pip3  或 pip

3、安装sqlite3

http://www.sqlite.org

yum install sqlite-devel

[root@django tools]# ll
-rw-r--r-- 1 root root 2515143 3月   2 13:33 sqlite-autoconf-3170000.tar.gz

[root@django tools]# tar xf sqlite-autoconf-3170000.tar.gz

[root@django tools]# cd sqlite-autoconf-3170000

[root@django tools]# ./configure

[root@django tools]#make && make install

4、安装Python3

升级为python3.5版本步骤
root@template ~]# cd /home/oldboy/tools/

#下载python-3.5.2
[root@template tools]# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

[root@template tools]# ll
总用量 20104
-rw-r--r--  1 root root 20566643 6月  26 05:47 Python-3.5.2.tgz

#解压到下载目录
[root@template tools]# tar zxvf Python-3.5.2.tgz 

#进入解压后的文件夹
[root@template tools]# cd Python-3.5.2

#在编译前先在/usr/local建一个文件夹python3(作为python的安装路径,以免覆盖老的版本)
[root@template Python-3.5.2]# mkdir /usr/local/python3

#开始编译安装
[root@template Python-3.5.2]#  ./configure --prefix=/usr/local/python3

[root@template Python-3.5.2]# make && make install

此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
[root@template Python-3.5.2]# mv /usr/bin/python /usr/bin/python_old

#再建立新版本python的软链接
[root@template Python-3.5.2]# ln -s /usr/local/python3/bin/python3 /usr/bin/python

#就会显示出python的新版本信息
[root@template Python-3.5.2]# python
Python 3.5.2 (default, Aug  2 2016, 11:35:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()     #<----退出python

PS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,这个大家可以自己试验下,当然如果还想保留原来的版本,那么这种方法最好不过了。

注意事项:
这种方法虽然能安装成功,但会导致yum不能正常使用。

解决方法:
[root@template tools]# cp /usr/bin/yum /usr/bin/yum.backup_2016-08-02

修改第一行参数
vi /usr/bin/yum   
#!/usr/bin/python    修改为:/usr/bin/python_old  
#!/usr/bin/python    修改为:/usr/bin/python2.6

#查看版本
[root@template Python-3.5.2]# python --version
Python 3.5.2

5.安装Django框架

软件下载地址:https://www.djangoproject.com/

方式一:pip3

pip3 install django

升级方法:

pip3 install django --upgrade

方式二:编译安装

[root@django tools]# ll
-rw-r--r-- 1 root root 7497785 3月   2 21:45 Django-1.9.12.tar.gz

[root@django tools]# tar xf Django-1.9.12.tar.gz 

[root@django tools]# cd Django-1.9.12

[root@django Django-1.9.12]# python setup.py install

[root@django Django-1.9.12]# cd ..

Django的默认安装路径:

[root@django tools]#ll -ld /usr/local/python3/lib/python3.5/site-packages/Django-1.9.12-py3.5
[root@django tools]#cd /usr/local/python3/lib/python3.5/site-packages/

[root@django site-packages]# ll
总用量 428
drwxr-xr-x 4 root root 4096 3月 2 21:49 Django-1.9.12-py3.5.egg
-rw-r--r-- 1 root root 271 3月 2 21:50 easy-install.pth
-rw-r--r-- 1 root root 126 3月 2 21:04 easy_install.py
drwxr-xr-x 11 root root 4096 3月 2 21:04 pip
drwxr-xr-x 2 root root 4096 3月 2 21:04 pip-8.1.1.dist-info
drwxr-xr-x 4 root root 4096 3月 2 21:09 pip-9.0.1-py3.5.egg
drwxr-xr-x 5 root root 4096 3月 2 21:04 pkg_resources
drwxr-xr-x 2 root root 4096 3月 2 21:04 __pycache__
-rw-r--r-- 1 root root 119 3月 2 21:03 README
drwxr-xr-x 5 root root 4096 3月 2 21:04 setuptools
-rw-r--r-- 1 root root 386241 3月 2 21:05 setuptools-19.6-py3.5.egg
drwxr-xr-x 2 root root 4096 3月 2 21:04 setuptools-20.10.1.dist-info
-rw-r--r-- 1 root root 28 3月 2 21:05 setuptools.pth

如要卸载django,如不知道Python3的安装目录,则使用如下命令确定site-packages的位置
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
进入site-packages目录直接删除django目录


运行django项目命令(备注:其它settings连接数据库方法跟window一样的)

python manage.py runserver 0.0.0.0:80&

安装paramiko(python3)

a、python3的时候,记得升级pip3,再安装就不会报错啦!(python2不需要升级)

[root@paramiko-server tools]# pip3 install --upgrade pip
Collecting pip
Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
100% |████████████████████████████████| 1.3MB 471kB/s


b、通过pip安装常用模块
[root@paramiko-server tools]# pip3 install paramiko

6、安装PyMysql

pip3 install PyMySQL

7、安装nginx

http://nginx.org/

CentOS6.6_64bit

软件版本:nginx-1.10.3.tar.gz

一、安装nginx

1、国内云服务器,请自行检查gcc

rpm -qa gcc*

如果没有安装,执行下面安装命令

yum -y install gcc gcc-c++


2、create nginx username

useradd nginx -s /sbin/nologin -M

#检查nginx用户与用户组
id nginx

3、开始安装nginx

mkdir -p /home/nulige/tools
cd /home/nulige/tools
wget -q http://nginx.org/download/nginx-1.10.3.tar.gz
tar xf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/application/nginx-1.10.3 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module
make && make install

#创建软链接
ls -ld /application/nginx-1.10.3/
ln -s /application/nginx-1.10.3/ /application/nginx
ls -l /application/nginx

4、启动nginx

检查nginx语法
/application/nginx/sbin/nginx -t
 
启动nginx
/application/nginx/sbin/nginx

5、查看启动端口

[root@web01 nginx-1.10.3]# ps -ef|grep nginx|grep -v grep
root       3576      1  0 21:48 ?        00:00:00 nginx: master process /application/nginx/sbin/nginx
nginx      3577   3576  0 21:48 ?        00:00:00 nginx: worker process 

6、访问nginx主页(测试成功)

8.安装uWSGI

https://uwsgi-docs.readthedocs.io/en/latest/Download.htm

方式一:pip安装

pip install uwsgi

方式二:编译安装

[root@django tools]# ll

-rw-r--r-- 1 root root   788971 3月   2 13:35 uwsgi-2.0.14.tar.gz

[root@django tools]# tar xf uwsgi-2.0.14.tar.gz 

[root@django tools]# cd uwsgi-2.0.14

[root@django uwsgi-2.0.14]# python uwsgiconfig.py --build

[root@django uwsgi-2.0.14]# python setup.py install

  writing dependency_links to uWSGI.egg-info/dependency_links.txt
  writing manifest file 'uWSGI.egg-info/SOURCES.txt'
  reading manifest file 'uWSGI.egg-info/SOURCES.txt'
  writing manifest file 'uWSGI.egg-info/SOURCES.txt'
  Copying uWSGI.egg-info to /usr/local/python3/lib/python3.5/site-packages/uWSGI-2.0.14-py3.5.egg-info
  running install_scripts

启动uWSGI

参考:http://blog.csdn.net/chenggong2dm/article/details/43937433

参考:http://www.cnblogs.com/alex3714/p/6538374.html

9.设置Django+nginx+uWSGI

 pass

原文地址:https://www.cnblogs.com/nulige/p/6490176.html