【建站】阿里云服务器 Ubuntu + django + nginx建站

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shankezh/article/details/71108496

阿里云环境:Ubuntu14.04

备案情况:流程全部通过

django版本:1.1

python版本:3.4


1、准备工具XShell,XFtp

下载安装XShell和XFtp,这两个个人和学校使用是免费的,用了一下,感觉不错。连接方法,和putty一样就可以连接阿里的主机了。

2、安装pip3

sudo apt-get install python3-pip

3、安装django

pip3 install django

4、安装uwsgi

pip3 install uwsgi

5、安装nginx

sudo apt-get install nginx

6、测试uwsgi

a)部署测试代码

代码名称:     test.py

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"to be continue..."]
b)命令行内运行

uwsgi --http :8001 --wsgi-file test.py
c)验证

购买阿里云服务器后,会被自动分配一个公网ip,这里直接使用公网ip作为验证(括号公 的那个ip):



打开浏览器,在浏览器内输入ip和端口,出现返回的字符串,如图:


验证成功。

7)django代码部署:

不会django部署就别看了,浪费时间,先去官方看看教程走走,起码你自己的127.0.0.1的流程要走起来。

我的django文件夹名为mysite,个人的路径为/home/work/mysite/

8)连接django和uwsgi

a)写一个配置xml文件,名称为mysite_socket.xml,位置在/home/work/mysite/mysite_socket.xml,代码配置如下:

<uwsgi>
   <socket>:8077</socket>
   <chdir>/home/work/mysite</chdir>
   <module>mysite.wsgi</module> 
   <processes>4</processes>
   <daemonize>uwsgi.log</daemonize>
</uwsgi>

需要特殊说明的是,8077端口不能被其它程序占用了,不然的话没法用。

b)建立nginx日志文件夹:

我的位置建在:/home/work/logs/nginx

c)写nginx的配置文件,名称mysite.conf:

server{
	listen 80;
	server_name [你的域名或者是你的公网ip];
	access_log /home/work/logs/nginx/access.log;
	error_log /home/work/logs/nginx/error.log;
	charset utf-8;
	
	location / {
	  include /etc/nginx/uwsgi_params;
	  uwsgi_pass 127.0.0.1:8077;	
	}

	location /static {
	  alias /home/work/mysite/static;	
	}
}

d)准备nginx工作

拷贝mysite.conf文件到/etc/nginx/site-enable/文件夹下

执行命令:

nginx -s reload
e)执行uwsgi:

进入到前面写的uwsgi的xml配置文件夹目录下,也就是mysite_socket.xml的目录

执行命令:

uwsgi -x mysite_socket.xml

9)测试

浏览器内输入你的域名或者ip,因为此处我们监听的是80端口,所以无需在ip或者域名后面填写端口,80是默认端口,这样,通过互联网就可以访问你的网站了,我的效果如下



附上此次我学习的参考网站链接,感谢他们。

https://docs.djangoproject.com/en/1.10/topics/

https://www.zhihu.com/question/54982081

http://www.cnblogs.com/feixuelove1009/p/5974597.html

http://www.python88.com/topic/101/


uwsgi的重启:

1、使用如下关闭所有uwsgi进程

killall -9 uwsgi
2、重新启动对应的参数文件即可.


猜你喜欢

转载自blog.csdn.net/shankezh/article/details/71108496