nginx-部署Python网站项目

一、部署Python网站项目

实验要求
配置Nginx使其可以将动态访问转交给uWSGI

安装Python工具及依赖
1)拷贝软件到proxy主机
[root@server1 ~]# scp -r /linux-soft/s2/wk/python/ 192.168.99.5:/root

2)安装python依赖软件
[root@proxy ~]# yum  -y install  gcc  make  python3  python3-devel

3)安装python网站的依赖包,python的软件包使用pip3安装
[root@proxy ~]# cd /root/python/
[root@proxy python]# pip3 install  pytz-2022.6-py2.py3-none-any.whl
[root@proxy python]# pip3 install  Django-1.11.8-py2.py3-none-any.whl
[root@proxy python]# pip3 install  django-bootstrap3-11.0.0.tar.gz

4)测试python网站
[root@proxy python]# tar -xf python-project-demo.tar.gz #网站代码
[root@proxy python]# cd python-project-demo/
[root@proxy python-project-demo]# python3 manage.py runserver 0.0.0.0:8000      #manage.py相当于网站运行的引导文件
在浏览器访问192.168.99.5:8000,启动网站的页面信息显示就是正常,web页面标题显示首页两字,页面暂时没有内容

此时可以测试完毕后按ctrl + c

注意:测试时如果无法连接外网,可能需要将python-project-demo/learning_logs/templates/base.html文件中的特效注释,注释的两行主要作用为美化网站
...

...

重新启动网站,结果显示如图;测完之后 ctrl c停止服务
[root@proxy python-project-demo]# python3 manage.py runserver 0.0.0.0:8000
image-20240821151151055

安装uWSGI并编写配置文件
1)安装uWSGI
[root@proxy python-project-demo]# cd ..
[root@proxy python]# pip3 install uWSGI-2.0.21.tar.gz

准备配置文件(默认没有配置文件,需要自己写),运行动态网站,
[root@proxy python]# vim myproject.ini  #要以ini结尾,文件名随意
[uwsgi]
socket=127.0.0.1:8000                   #与web服务(nginx)通信的接口
chdir=/root/python/python-project-demo   #网站的工作目录
wsgi-file=learning_log/wsgi.py          #定义网站运行时,uwsgi调用的脚本文件
daemonize=/var/log/uwsgi.log            #指定日志文件位置

2) 运行uWSGI
[root@proxy python]# uwsgi --ini myproject.ini  #读取myproject.ini运行uWSGI
[uWSGI] getting INI configuration from myproject.ini
[root@proxy python]# ss -antlp | grep 8000  #8000已经监听,成功启动

3)修改nginx配置文件,添加uWSGI转发
[root@proxy python]# vim /usr/local/nginx/conf/nginx.conf
...
        location / {
            uwsgi_pass 127.0.0.1:8000;     #动态页面交给uWSGI
            include uwsgi_params;          #加载调用uWSGI配置文件
            root   html;
            index  index.html index.htm;
        }
        location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
            expires 30d;
         }
...
[root@proxy python]# /usr/local/nginx/sbin/nginx

4)测试
使用浏览器访问192.168.99.5

一、部署Python网站项目

实验要求
配置Nginx使其可以将动态访问转交给uWSGI

安装Python工具及依赖
1)拷贝软件到proxy主机
[root@server1 ~]# scp -r /linux-soft/s2/wk/python/ 192.168.99.5:/root

2)安装python依赖软件
[root@proxy ~]# yum  -y install  gcc  make  python3  python3-devel

3)安装python网站的依赖包,python的软件包使用pip3安装
[root@proxy ~]# cd /root/python/
[root@proxy python]# pip3 install  pytz-2022.6-py2.py3-none-any.whl
[root@proxy python]# pip3 install  Django-1.11.8-py2.py3-none-any.whl
[root@proxy python]# pip3 install  django-bootstrap3-11.0.0.tar.gz

4)测试python网站
[root@proxy python]# tar -xf python-project-demo.tar.gz #网站代码
[root@proxy python]# cd python-project-demo/
[root@proxy python-project-demo]# python3 manage.py runserver 0.0.0.0:8000      #manage.py相当于网站运行的引导文件
在浏览器访问192.168.99.5:8000,启动网站的页面信息显示就是正常,web页面标题显示首页两字,页面暂时没有内容

此时可以测试完毕后按ctrl + c

注意:测试时如果无法连接外网,可能需要将python-project-demo/learning_logs/templates/base.html文件中的特效注释,注释的两行主要作用为美化网站
...

...

重新启动网站,结果显示如图;测完之后 ctrl c停止服务
[root@proxy python-project-demo]# python3 manage.py runserver 0.0.0.0:8000
image-20240821151151055

安装uWSGI并编写配置文件
1)安装uWSGI
[root@proxy python-project-demo]# cd ..
[root@proxy python]# pip3 install uWSGI-2.0.21.tar.gz

准备配置文件(默认没有配置文件,需要自己写),运行动态网站,
[root@proxy python]# vim myproject.ini  #要以ini结尾,文件名随意
[uwsgi]
socket=127.0.0.1:8000                   #与web服务(nginx)通信的接口
chdir=/root/python/python-project-demo   #网站的工作目录
wsgi-file=learning_log/wsgi.py          #定义网站运行时,uwsgi调用的脚本文件
daemonize=/var/log/uwsgi.log            #指定日志文件位置

2) 运行uWSGI
[root@proxy python]# uwsgi --ini myproject.ini  #读取myproject.ini运行uWSGI
[uWSGI] getting INI configuration from myproject.ini
[root@proxy python]# ss -antlp | grep 8000  #8000已经监听,成功启动

3)修改nginx配置文件,添加uWSGI转发
[root@proxy python]# vim /usr/local/nginx/conf/nginx.conf
...
        location / {
            uwsgi_pass 127.0.0.1:8000;     #动态页面交给uWSGI
            include uwsgi_params;          #加载调用uWSGI配置文件
            root   html;
            index  index.html index.htm;
        }
        location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
            expires 30d;
         }
...
[root@proxy python]# /usr/local/nginx/sbin/nginx

4)测试
使用浏览器访问192.168.99.5

你可能感兴趣的:(python,linux,nginx,服务器)