手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何部署python网站

时间:2024-10-26 16:50:03

1、首先,我们需要明确用Python部署网站过程中各类模块的功能。Python:一种编程语言,只能进行后端数据的处理和管理前端HTML文件,不能用来处理HTTP请求Nginx:web服务器,用于处理HTTP请求uWsgi:Python的第三方库,建立Nginx和Python环境的交互通信Django:Python的Web开发框架,部署HTML文件和数据库本文以Ubuntu系统服务器为例,介绍如何在服务器端部署网站

如何部署python网站

2、步骤一:安装Nginx1. 在命令行中输入 sudo su 进入管理员模式2. 在命令行中输入 sudo apt-get install nginx,安装Nginx3. 在服务器的80端口开启的情况下,在浏览器中输入服务器的IP地址,如果不出现错误,则证明Nginx已经安装成功了。

3、步骤二:在Python虚拟环境中安装Django1. 在命令行中输入 pip3 install virtualenv 安装虚拟环境管理工具2. 进入目录(本文以 /var/www 为例),在命令行中输入 virtualenv venv 创建一个名为 'venv' 的虚拟Python 3环境【注】使用虚拟环境的目的是为了让Django的运行独立在真实环境之外,防止干扰服务器上运行的其他项目3. 在命令行中输入 source /var/www/venv/bin/activate 进入虚拟环境,此时命令行首出现 '(venv)' 字段,代表已经进入虚拟环境中工作4. 在命令行中输入 pip3 install django ,将Django安装在虚拟环境中5. 在命令行中输入 django-admin startproject mysite,创建一个名为'mysite'的项目,我们的网站就部署在这个目录(/var/www/mysite)下6. 在命令行中输入 cd /var/www/mysite 进入该目录,在命令行中输入 vim ./mysite/settings.py 修改配置文件如下:找到 'ALLOWED_HOSTS = []' 行,将服务器的IP地址以字符串的形式添加到列表ALLOWED_HOSTS中7. 保存并退出 vim 编辑器,在命令行中输入 python3 manage.py runserver 0.0.0.0:8000,开启一个虚拟测试器8. 在浏览器中输入 http://xxx.xxx.xxx.xxx:8000 (xxx.xxx.xxx.xxx是你服务器的IP地址),如果不报错并看到Django的欢迎界面,则说明Django安装成功

4、步骤三:在虚拟环境中和真实环境中安装uWsgi1. 按住 Control + C 退出Django测试服务器,在命令行中输入 pip3 install uwsgi 安装uwsgi模块,注意此时的uwsgi模块仍安装在虚拟环境中2. 在命令行中输入 deactivate ,退出虚拟环境3. 在命令行中输入 pip3 install uwsgi,将uwsgi安装在真实环境下4. 在命令行中输入 source /var/www/venv/bin/activate 进入虚拟环境,输入 cd /var/www/mysite 进入该目录5. 在命令行中输入 uwsgi --http :8000 --module mysite.wsgi 开启uwsgi测试服务6. 在浏览器中输入http://xxx.xxx.xxx.xxx:8000 (xxx.xxx.xxx.xxx是你服务器的IP地址),如果不报错并看到Django的欢迎界面,则说明uwsgi安装成功

5、步骤四:修改Nginx配置文件1. 在 /var/www 目录下,使用vim编辑器创建一个名为 'nginx.conf' 的配置文件,并输入如下内容(xxx.xxx.xxx.xxx 是服务器的IP地址)后,保存并退出:# nginx.conf upstream django { server 127.0.0.1:8001;}server { listen 80; server_name xxx.xxx.xxx.xxx; charset utf-8; client_max_body_size 75M; location /media { alias /var/www/mysite/media; } location /static { alias /var/www/mysite/static; } location / { uwsgi_pass django; include /var/www/uwsgi_params }}2. 在命令行中输入 cd /etc/nginx/sites-enabled 进入nginx的安装目录,在命令行中输入 rm default 删除原有的配置文件3. 在命令行中输入 ln -s /var/www/nginx.conf mysite 将我们创建的配置文件配置在nginx中4. 在命令行中输入 /etc/init.d/nginx restart 重启nginx

6、步骤五:配置uwsgi1. 在命令行中输入 cd /var/www 回到www目录,在该目录下输入 vim uwsgi_params 创建一个名为 'uwsgi_params' 的文件,并输入如下内容,保存:uwsgi_param QUERY_STRING $query_string;uwsgi_param REQUEST_METHOD $request_method;uwsgi_param CONTENT_TYPE $content_type;uwsgi_param CONTENT_LENGTH $content_length;uwsgi_param REQUEST_URI $request_uri;uwsgi_param PATH_INFO $document_uri;uwsgi_param DOCUMENT_ROOT $document_root;uwsgi_param SERVER_PROTOCOL $server_protocol;uwsgi_param REMOTE_ADDR $remote_addr;uwsgi_param REMOTE_PORT $remote_port;uwsgi_param SERVER_ADDR $server_addr;uwsgi_param SERVER_PORT $server_port;uwsgi_param SERVER_NAME $server_name;2. 在 /var/www 目录下,在命令行中输入 vim uwsgi.ini 创建名为 'uwsgi.ini' 的文件并输入如下内容:# mysite_uwsgi.ini file[uwsgi]# Django-related settings# the base directory (full path)chdir = /var/www/mysite #path to your project# Django's wsgi filemodule = mysite.wsgi #project_name.wsgi# the virtualenv (full path)home = /var/www/venv #path to the virtual environment# process-related settings# mastermaster = true# maximum number of worker processesprocesses = 10# the socket (use the full path to be safesocket = :8001 #we use port 8001 as a socket# ... with appropriate permissions - may be needed# chmod-socket = 664# clear environment on exitvacuum = true3. 在命令行中输入 uwsgi --ini uwsgi.ini 开启uwsgi服务,在浏览器中输入 http://xxx.xxx.xxx.xxx(服务器IP地址),如果不报错并看到Django的欢迎界面,就说明部署成功了。

7、步骤六:设置uwsgi后台运行到此,虽然已经将Django项目部署在服务器上,但是没办法让uwsgi脱离终端运行,因此需要修改开机自动启动文件,让uwsgi自动在后台运行:1. 在命令行中输入 vim /etc/rc.local,在其中输入 uwsgi --ini /var/www/uwsgi.ini2. 重启服务器后,在浏览器中输入 http://xxx.xxx.xxx.xxx(服务器IP地址),发现成功部署了!

8、本文只是介绍了如何把Django项目部署在服务器上,至于Django的使用则是另一个方面的问题,需要进一步学习。

© 手抄报圈