1 , 首先 , 你得先去买个服务器 . (记得选CentOS系统的)
2 , 然后下载一个叫Putty的连接软件 . (百度"putty"就有得下载)
3 , 打开Putty , 输入你服务器的公网ip , 然后点击"Open"
4 , 打开之后 , 输入用户名和密码登录连接 . [如图1]
5 , 安装基础开发包 . 依次输入以下命令,遇到选择(y/d/n)时,按y回车继续
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
6 , 安装最新版本Python3(此时最新是Python3.6.4 , 可去官网自行查询https://www.python.org/downloads/) , 依次输入以下命令 , 务必将版本号改为自己想安装的 . 当然你也可以跟我安装同一版本 .
(1) 下载
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
(2) 解压
tar xf Python-3.6.4.tgz
(3) 进入解压后的文件夹
cd Python-3.6.4
(4) 配置
./configure
(5) 编译并安装
make && make install
(6) 输入以下命令 , 显示版本号即为安装成功(如图2) , 并且看红色框 , 此版本是连同pip和setuptool一起安装的(嘻嘻)
python3 -V
7 , 使用pip安装Django
(1) 安装
pip3 install django
(2) 检测一下是否安装正常
django-admin.py startproject demosite
cd demosite
python3 manage.py runserver 0.0.0.0:8002
这个时候你用电脑打开浏览器 , 输入"http://你的服务器ip:8002"你会发现 , 啊哈 , 报错啦 ! ! ! !
错误代码 : You may need to add 'xxx.xxx.xxx.xx' to ALLOWED_HOSTS.
很多教程都是直接告诉你输入上面的命令去检查是否正常 , 而没有告诉你应对报错的解决方案(或者说很多教程都不齐全) .
(3) 解决报错问题
进入demosite/demosite文件夹
cd demosite
修改settings.py文件
vim settings.py
找到ALLOWED_HOSTS = [ ] 这一行 , 然后修改为(按一下INS键[退格键右手边那个]可以进入编辑模式) :
ALLOWED_HOSTS = ['127.0.0.1','xxx.xxx.xxx.xx','localhost']
"xxx.xxx.xxx.xx"为你的服务器ip
修改完之后 , 按一下ESC键退出编辑模式 , 然后输入下面命令保存并退出
:wq
解决完问题 , 返回上一层目录
cd ..
重新运行
python3 manage.py runserver 0.0.0.0:8002
呀 ! ! ! 正常了 ! ! ! (QAQ其实Django其实一直都是正常的 , 只是需要配置一下文件)
(退出运行按CTRL + C就可以了)
8 , 使用pip安装 uwsgi
(1) 先回到根目录
cd
(2) 安装
pip3 install uwsgi
(3) 测试 uwsgi 是否正常
新建并打开一个test.py文件
vim test.py
输入内容如下 , 然后保存并退出(忘记某些命令的请查看上面)
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return b"Hello World"
很多教程最后的return会少一个'b' , 导致一直测试都报错...我踩了好几次坑...(╯‵□′)╯︵┴─┴
然后在终端继续运行
uwsgi --http :8001 --wsgi-file test.py
在浏览器内输入:http://你的服务器ip:8001,查看是否有"Hello World"输出,若没有输出,请检查你的安装过程。
9 , 安装Nginx(此时最新版为1.13.7)
(1) 依次为下载 , 解压 , 配置 , 安装
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar xf nginx-1.13.7.tar.gz
cd nginx-1.13.7
./configure --prefix=/usr/local/nginx-1.13.7 --with-http_stub_status_module --with-http_gzip_static_module
make && make install
(2) 测试Nginx安装是否正确
由于80端口较容易被别的程序占用,需执行如下命令来修改nginx配置文件中的端口号
vim /usr/local/nginx-1.13.7/conf/nginx.conf
如下图所示将listen对应的80改成8088,并保存退出
执行命令启动nginx服务
/usr/local/nginx-1.13.7/sbin/nginx
在浏览器内输入:http://你的服务器ip:8088,出现如下界面则为安装正确
10 , 至此 , 所有需要的程序和扩展都已经安装完了 . 现在将nginx与uwsgi以及django结合使用
(1) 在刚刚demosite项目目录下创建demosite_uwsgi.ini文件
vim Python-3.6.4/demosite/demosite_uwsgi.ini
文件内容如下:
# demosite_uwsgi.ini file
[uwsgi]
# Django-related settings
http = :8008
# the base directory (full path)
chdir = /root/Python-3.6.4/demosite
# Django s wsgi file
module = demosite.wsgi
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
(2) 修改nginx.conf文件
vim /usr/local/nginx-1.13.7/conf/nginx.conf
主要修改如图所示
include uwsgi_params;
uwsgi_pass 127.0.0.1:8008;(端口要与ini中的端口一致)
保存并退出
(3) 最后执行如下命令来启动
uwsgi --ini /root/Python-3.6.4/demosite/demosite_uwsgi.ini & /usr/local/nginx-1.13.7/sbin/nginx
在浏览器内输入:http://你的服务器ip:8008,出现如下界面并[CTRL + C]退出后仍能访问则为成功
11 , 结语
(1) 本人主业为Android , 是个刚学习Python的菜鸟 , 也刚接触服务器 , 如有写得不妥之处 , 务必严厉指出 .
(2) 因为这几天装这个环境踩了太多坑 , 发现很多教程有的不全 , 有的出错 (出错原因或许是版本问题吧) , 因此决定自己写一个简单易懂的教程 .
(3) 更多的扩展请自行百度Google
(4) Python是个很强大的工具 , 刚刚入门 , 希望以后能越学越好
end
(。・`ω´・)