Python全栈 Web (项目部署)

简介: Nginx项目部署 Python、Django、框架、服务器、客户端、浏览器、交互、WEB、Python前端、CSS、JAVA、HTML、H5、PHP、JavaScript、JQuery
895a7def6dba2ce35d2a49f75d5b3dcf1465f76c

Django项目(Web应用)
  Web服务
    1、nginx   :高并发处理的好
    2、Apache  :稳定
      LAMP :Linux  Apache  MySQL  Python/Php/Perl
      LNMP :Linux  Nginx   MySQL  Python/Php/Perl
    3、uwsgi
      是Web服务器与Web框架之间一种简单而通用的接口
单项目部署(nginx+uwsgi+Django)
确保django项目能够运行
安装nginx(用apt-get去安装)
    1、安装
sudo apt-get install nginx
    2、启动
sudo /etc/init.d/nginx restart
    3、验证
      打开浏览器-->127.0.0.1:80-->Welcome to Nginx!
  安装uwsgi(用pip3去安装)
    1、安装
sudo pip3 install uwsgi
    2、验证
uwsgi --http :9998 --chdir /home/tarena/myproject/friutday_1/ --module friutday.wsgi
  部署
    配置uwsgi(配置文件)
1、
mkdir uwsgi
2、
cd uwsgi
3、
vi fruitday_uwsgi.ini
			[uwsgi]
			# 和nginx通信的端口
			socket=127.0.0.1:8001
			# 项目路径
			chdir=/home/tarena/myproject/friutday_1
			# wsgi.py路径
			wsgi-file=friutday/wsgi.py
			# 进程数
			processes=4
			# 线程数
			thread=2
			# 本项目占用uwsgi端口
			stats=127.0.0.1:8081


    配置nginx(配置文件)


sudo -i

cd /etc/nginx/sites-enabled

vi project_nginx.conf

# 配置文件内容
		server{
		        # 监听本项目端口,浏览器输入的端口
			listen 8201;
			server_name frituday.com;
			charset utf-8;
			client_max_body_size 75M;
			# 收集项目静态文件路径
			location /static{
				alias /home/tarena/myproject/friutday_1/static;
			}
		      # 和uwsgi通信端口和项目通信文件uwsgi_params
			location /{
				include uwsgi_params;
				uwsgi_pass 127.0.0.1:8001;
			}
		}
		4、重启nginx服务
		sudo /etc/init.d/nginx restart
		5、拷贝uwsgi_params文件到项目目录
		cp uwsgi_params /home/tarena/myproject/friutday_1/


    收集静态文件
      1、在settings.py文件中添加路径(STATIC_ROOT)
STATIC_ROOT = '/home/tarena/myproject/friutday_1/static/'
      2、收集静态文件
python3 manage.py collectstatic
    uwsgi启动项目
      	cd /home/tarena/uwsgi
      	uwsgi --ini fruitday_uwsgi.ini
3、多项目部署
uwsgi
    每个项目需要单独创建uwsgi配置文件,选用不同端口
nginx
    配置文件,1个就可以,添加server{}
部署个人博客项目
        浏览器访问端口 :8202
    	
			/etc/nginx/sites-enabled/project_nginx.conf
			# listen 8202
    	uwsgi和nginx通信端口 :8002
			cd uwsgi
			vi blog_uwsgi.ini
			# socket=127.0.0.1:8002
		uwsgi启动个人博客项目占用端口 :8082
			vi blog_uwsgi.ini
			stats=127.0.0.1:8082




相关文章
|
15天前
|
分布式计算 并行计算 安全
在Python Web开发中,Python的全局解释器锁(Global Interpreter Lock,简称GIL)是一个核心概念,它直接影响了Python程序在多线程环境下的执行效率和性能表现
【6月更文挑战第30天】Python的GIL是CPython中的全局锁,限制了多线程并行执行,尤其是在多核CPU上。GIL确保同一时间仅有一个线程执行Python字节码,导致CPU密集型任务时多线程无法充分利用多核,反而可能因上下文切换降低性能。然而,I/O密集型任务仍能受益于线程交替执行。为利用多核,开发者常选择多进程、异步IO或使用不受GIL限制的Python实现。在Web开发中,理解GIL对于优化并发性能至关重要。
36 0
|
27天前
|
关系型数据库 MySQL 数据库
如何使用Python的Flask框架来构建一个简单的Web应用
如何使用Python的Flask框架来构建一个简单的Web应用
39 0
|
2天前
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
18 8
|
2天前
|
前端开发 API 开发者
Python Web开发者必看!AJAX、Fetch API实战技巧,让前后端交互如丝般顺滑!
【7月更文挑战第13天】在Web开发中,AJAX和Fetch API是实现页面无刷新数据交换的关键。在Flask博客系统中,通过创建获取评论的GET路由,我们可以展示使用AJAX和Fetch API的前端实现。AJAX通过XMLHttpRequest发送请求,处理响应并在成功时更新DOM。Fetch API则使用Promise简化异步操作,代码更现代。这两个工具都能实现不刷新页面查看评论,Fetch API的语法更简洁,错误处理更直观。掌握这些技巧能提升Python Web项目的用户体验和开发效率。
15 7
|
2天前
|
XML 前端开发 API
惊艳全场的秘诀!AJAX、Fetch API与Python后端,打造令人惊叹的Web应用!
【7月更文挑战第13天】构建现代Web应用的关键在于提供无缝用户体验,这涉及AJAX和Fetch API的异步数据交换以及Python(如Flask)的后端支持。Fetch API以其基于Promise的简洁接口,改进了AJAX的复杂性。例如,一个Flask应用可提供用户数据,前端利用Fetch API在不刷新页面的情况下显示信息。这种结合提升了效率,减少了服务器负载,是现代Web开发的趋势。随着技术发展,预期将有更多工具优化这一过程。
11 3
|
23天前
|
JSON API 数据库
Python使用Quart作为web服务器的代码实现
Quart 是一个异步的 Web 框架,它使用 ASGI 接口(Asynchronous Server Gateway Interface)而不是传统的 WSGI(Web Server Gateway Interface)。这使得 Quart 特别适合用于构建需要处理大量并发连接的高性能 Web 应用程序。与 Flask 类似,Quart 也非常灵活,可以轻松地构建 RESTful API、WebSockets、HTTP/2 服务器推送等。
|
1天前
|
前端开发 API 开发者
从零到精通,AJAX与Fetch API让你的Python Web前后端交互无所不能!
【7月更文挑战第14天】在Web开发中,AJAX和Fetch API扮演着关键角色,用于前后端异步通信。AJAX通过XMLHttpRequest实现页面局部更新,但回调模式和复杂API有一定局限。Fetch API作为现代替代,利用Promise简化异步处理,提供更丰富功能和错误处理。Python后端如Flask、Django支持这些交互,助力构建高性能应用。从AJAX到Fetch API的进步,结合Python,提升了开发效率和用户体验。
6 0
|
1天前
|
XML 前端开发 API
颠覆传统!AJAX、Fetch API与Python后端,开启Web开发新篇章!
【7月更文挑战第14天】Web开发中,AJAX作为异步通信先驱,与新兴的Fetch API一起革新交互体验。Fetch基于Promise,简化了请求处理。Python后端,如Flask,提供稳定支撑。这三者的融合,推动Web应用达到新高度,实现高效、实时交互。通过示例展示,我们看到从发送请求到更新UI的流畅过程,以及Python如何轻松返回JSON数据。这种组合揭示了现代Web开发的潜力和魅力。
8 0
|
2天前
|
网络协议 安全 Python
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
5 0
|
28天前
|
XML 前端开发 数据挖掘
Web数据提取:Python中BeautifulSoup与htmltab的结合使用
Web数据提取:Python中BeautifulSoup与htmltab的结合使用