python程序怎么部署到云服务器

python程序怎么部署到云服务器,第1张

你需要登录云服务器管理控制台,记录被我打马赛克位置的公网ip。

登录服务器

windows推荐下putty进行连接远程服务器,linux和macos不需要那么麻烦,ssl就行了。

putty

在下图的host name中输入你的公网IP,点击open。

putty界面

输入密码,看不见输入不要慌,linux就是这样保护安全的。

Paste_Imagepng

登录成功界面见下图,然后想怎么操作就怎么操作了。

登陆成功界面

运行我的python文件

推荐FileZilla进行文件传输(不具体说明了),我上传了我的flask网站项目

我的项目

记住服务器同时有Python2和Python3,

python

运行的时候记得使用合适的版本,我用的是虚拟环境(自行百度如何创建虚拟环境)

在运行python之前先安装一个screen,他可以将一个程序在后台运行

sudo apt-get install screen

运行python文件,成功后按下ctrl+A和ctrl+D可以隐藏。隐藏后可以输入screen -r 恢复。

运行成功

正常,这才是服务器

首先确保装了Python,我装的是2x版本,对了,我的操作系统是WIN7,其实对于Python来说,什么操作系统并不重要。Python内置了一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就起来了:

python -m SimpleHTTPServer 80

后面的80端口是可选的,不填会采用缺省端口8000。注意,这会将当前所在的文件夹设置为默认的Web目录,试着在浏览器敲入本机地址:

如果当前文件夹有indexhtml文件,会默认显示该文件,否则,会以文件列表的形式显示目录下所有文件。这样已经实现了最基本的文件分享的目的,你可以做成一个脚本,再建立一个快捷方式,就可以很方便的启动文件分享了。如果有更多需求,完全可以根据自己需要定制,具体的请参见官方文档SimpleHTTPServer,或者直接看源码。我拷贝一段,方便参考:

import SimpleHTTPServer

import SocketServer

PORT = 8000

Handler = SimpleHTTPServerSimpleHTTPRequestHandler

httpd = SocketServerTCPServer(("", PORT), Handler)

print "serving at port", PORT

httpdserve_forever()

如果你想改变端口号,你可以使用如下的命令:

python -m SimpleHTTPServer 8080

如果你只想让这个HTTP服务器服务于本地环境,那么,你需要定制一下你的Python的程序,下面是一个示例:

import sys

import BaseHTTPServer

from SimpleHTTPServer import SimpleHTTPRequestHandler

HandlerClass = SimpleHTTPRequestHandler

ServerClass = BaseHTTPServerHTTPServer

Protocol = "HTTP/10"

if sysargv[1:]:

port = int(sysargv[1])

else:

port = 8000

server_address = ('127001', port)

HandlerClassprotocol_version = Protocol

httpd = ServerClass(server_address, HandlerClass)

sa = httpdsocketgetsockname()

print "Serving HTTP on", sa[0], "port", sa[1], ""

httpdserve_forever()

注意:所有的这些东西都可以在 Windows 或 Cygwin 下工作。

您可能感兴趣的文章:

基于python的web开发,这里我们使用linux为开发环境,搭建基于nginx + webpy + fastcgi

有些基本基本概念解释下,哈哈,因为我不懂

1wsgi为Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口

2uwsgi,另一种python定义的web服务器和web应用的接口

3REST服务,REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

4CRUD是指在做计算处理时的增加(Create)、查询(Retrieve)(重新得到数据)、更新(Update)和删除(Delete)几个单词的首字母简写。主要被用在描述软件系统中数据库或者持久层的基本操作功能

以下内容主要来自

http://webpyorg/cookbook/fastcgi-nginx

需要的软件

nginx 07以上版本,我使用的是nginx 092

webpy我使用的webpy-037

spawn-fcgi 163

flup 10

nginx的配置请参看官方文档

spawn-fcgi是lighttpd的一个子项目用于多进程管理

webpy和flup安装方式为解压后运行python setuppy install

安装编写indexpy

点击(此处)折叠或打开

#!/usr/bin/env python

# -- coding: utf-8 --

import web

urls = ("/", "hello")

app = webapplication(urls, globals())

class hello:

def GET(self):

return 'Hello, world!'

if __name__ == "__main__":

webwsgirunwsgi = lambda func, addr=None: webwsgirunfcgi(func, addr)

apprun()

注意indexpy需要使用命令chmod +x indexpy加入可执行权限

将indexpy放入/data/www(我所使用的目录你可以修改)

修改nginxconf配置

index要加入indexpy

Nginx的配置加入

点击(此处)折叠或打开

location / {

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param GATEWAY_INTERFACE CGI/11;

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;

fastcgi_param REMOTE_PORT $remote_port;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;

fastcgi_param PATH_INFO $fastcgi_script_name;

fastcgi_pass 127001:9002;

}

使用Spawn-fcgi

spawn-fcgi -d /data/www -f /data/www/indexpy -a 127001 -p 9002

如果报错为126,说明indexpy没有可执行权限

netstat -lnp | grep 9002参考是否启动成功

我运行的实际为

spawn-fcgi -d /data/www -f /data/www/indexpy -a 127001 -p 9002 -F 2

启动2个进程

启动nginx

浏览器输入地址

成功结束

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » python程序怎么部署到云服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情