python发布服务器
1. 如何将python程序放在服务器上运行如sae那些
第一种,如何你有控制权的服务器,直接ssh访问,上传python代码。第二种,虚拟主机的,用Django等,看Django配置
2. 树莓派 python 如何将本地文件上传到指定的服务器页面上
以下是单个文件的,不确定你的文件夹是什么意思,可以压缩下再上传(方法一样,调用zip命令)
我的实现方法:调用终端的curl,以下为代码平片段,实现的功能是上传log文件到服务器,供参考:
defpost_log(self,post_url,del_source_file=True):
'''
postlogtologserver
'''
ifself.log_path:
command="curl-s-Flog=@{0}{1}".format(self.log_path,post_url)
return_str=os.popen(command).read()
logging.debug(return_str)
#printreturn_str
ifreturn_str=="success":
ifdel_source_file:
del_command="sudorm{0}".format(self.log_path)
os.system(del_command)
returnTrue
else:
returnFalse
returnFalse
3. 如何使用python制作网站服务器,让客户通过网址,访问我电脑的文件
首先纠正几个名词问题.
服务器是指的硬件,PYthon作为一个编程语言是无法制作硬件的.
网址更确切的说应该是域名服务,网址是一个指向地址,指向的是服务器的IP地址.
python只能制作网站后台程序,目前已经有现成的py库可以快速搭建网站服务.如:Django,Flask,Bottle 等框架都可以实现.
通过网址访问,则需要域名服务,需要从域名服务商购买域名,并将域名解析到,网站服务器上,通过80端口访问通过网站程序搭建的网站.
网址从服务商处注册,是需要一定费用的,可以根据自己的需要在服务商处选择.
域名是可以自己自定义选择的,不过一定得是别人没有注册过的才行.
服务器也是需要付费的.
4. 如何用python搭建web服务器
利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:
python -mWeb服务器模块[端口号,默认8000]
- 例如:
python -m SimpleHTTPServer 8080
http://localhost:端口号/路径
- 来访问服务器资源。
- 例如:
http://localhost:8080/index.htm(当然index.htm文件得自己创建)
- 其他机器也可以通过服务器的IP地址来访问。
BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。
SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
CGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。
然后就可以在浏览器中输入
这里的“Web服务器模块”有如下三种:
5. python程序怎么部署到云服务器
你需要登录云服务器管理控制台,记录被我打马赛克位置的公网ip。
登录服务器
windows推荐下putty进行连接远程服务器,linux和macos不需要那么麻烦,ssl就行了。
putty
在下图的host name中输入你的公网IP,点击open。
putty界面
输入密码,看不见输入不要慌,linux就是这样保护安全的。
Paste_Image.png
登录成功界面见下图,然后想怎么操作就怎么操作了。
登陆成功界面
运行我的python文件
推荐FileZilla进行文件传输(不具体说明了),我上传了我的flask网站项目
我的项目
记住服务器同时有Python2和Python3,
python
运行的时候记得使用合适的版本,我用的是虚拟环境(自行网络如何创建虚拟环境)
在运行python之前先安装一个screen,他可以将一个程序在后台运行
sudo apt-get install screen
运行python文件,成功后按下ctrl+A和ctrl+D可以隐藏。隐藏后可以输入screen -r 恢复。
运行成功
6. 用python的django或者web.py做服务器,性能上有瓶颈吗
不过,既然接受了Python的简单易用和快速开发优拿销埋势,作为tradeoff,就要学会接受和处理Python的消蚂一些缺点。用django作数据服务器两年多,确实会有一些斗灶性能问题。
1.异步django的http请求是同步的,通过gevent的协程来实现异步就解决了,很快。
2.缓存和队列用ZeroMQ、Memcached来做缓存和队列就解决了。
3.影响性能的函数如果真的有CPU密集型的函数影响性能,可以编译成C来解决性能问题,一些矩阵操作也可以通过numpy来解决
7. 怎么用http上传一个文件到服务器 python
首先,标准HTTP协议对上传文件等表单的定义在这里:wwwietforg/rfc/rfc1867txt 大概数据包格式如下:
单文件:
Content-type: multipart/form-data, boundary=AaB03x
--AaB03x
content-disposition: form-data; name="field1"
Joe Blow
--AaB03x
content-disposition: form-data; name="pics"; filename="file1.txt"
Content-Type: text/plain
... contents of file1.txt ...
--AaB03x--
多文件:
Content-type: multipart/form-data, boundary=AaB03x
--AaB03x
content-disposition: form-data; name="field1"
Joe Blow
--AaB03x
content-disposition: form-data; name="pics"
Content-type: multipart/mixed, boundary=BbC04y
--BbC04y
Content-disposition: attachment; filename="file1.txt"
其次,python上传文件的几种方法:
1 自己封装HTTP的POST数据包:http//stackoverflowcom/questions/680305/using-multipartposthandler-to-post-form-data-with-python
import httplibimport mimetypesdef post_multipart(host, selector, fields, files): content_type, body = encode_multipart_formdata(fields, files) h = httplib.HTTP(host) h.putrequest('POST', selector) h.putheader('content-type', content_type) h.putheader('content-length', str(len(body))) h.endheaders() h.send(body) errcode, errmsg, headers = h.getreply() return h.file.read() def encode_multipart_formdata(fields, files): LIMIT = '----------lImIt_of_THE_fIle_eW_$' CRLF = '\r\n' L = [] for (key, value) in fields: L.append('--' + LIMIT) L.append('Content-Disposition: form-data; name="%s"' % key) L.append('') L.append(value) for (key, filename, value) in files: