nginx部署

    • 简单安装
      • 安装python
      • 安装django-mysql
      • 启动
    • uwsgi
      • 单文件使用uwsgi
      • 开多进程
      • django程序使用uwsgi
        • 执行命令启动
        • 执行文件启动
        • 静态文件
    • nginx

简单安装

安装python

安装python

查看默认Python版本
python -V

1、安装gcc,用于编译Python源码
    yum install gcc
2、下载源码包
    wget https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz
3、解压并进入源码文件
4、进入目录编译安装
    ./configure
    make all
    make install
5、查看版本
    /usr/local/bin/python2.7 -V
6、修改默认Python版本
    mv /usr/bin/python /usr/bin/python2.6
    ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本
    vi /usr/bin/yum
    将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

安装django-mysql

将django项目拖拽到xshell中的data目录

[[email protected] data]# rz -E
rz waiting to receive.
[[email protected] data]# ls
26380  6381  7000  7002  7004  a.txt  redis         safly.tar.gz
6380   6382  7001  7003  7005  b.txt  s8day145.zip

yum install zip
yum install unzip
然后解压 unzip s8day145.zip

[[email protected] data]# ls
26380  6381  7000  7002  7004  a.txt  redis     s8day145.zip
6380   6382  7001  7003  7005  b.txt  s8day145  safly.tar.gz

安装依赖,然后重新编译python

- yum install openssl-devel
- yum install sqlite-devel

安装django pip3 install Djano

启动

然后通过
这里写图片描述
然后找到linux的ip访问即可
这里写图片描述

访问效果如下:
这里写图片描述

uwsgi

Django框架运行依赖wsgi(本质提供socket服务端),众多模块实现了wsgi规范,而django框架中默认使用wsigiref模块来实现,他由于性能比较低,所以用于本地开发和测试,而线上部署时需要使用uwsgi来代替。
需要先安装:yum install python-devel

pip3 install uwsgi

单文件使用uwsgi

在服务器上编写一个Python文件app.py:

[[email protected] data]# ls
26380  6381  7000  7002  7004  app.py  b.txt  s8day145      safly.tar.gz
6380   6382  7001  7003  7005  a.txt   redis  s8day145.zip
[[email protected] data]# vim app.py
[[email protected] data]# cat app.py
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"]

执行如下指令
[[email protected] data]# uwsgi –http :9001 –wsgi-file app.py
或者
uwsgi –http :9002 –wsgi-file foobar.py –master –processes 4
PS: flask需要再加 –callable app

- 如果是flask程序:
                app.py 
                    app = Flask(....)

                    @app.
                    ...

                uwsgi --http :9002 --wsgi-file app.py  --callable app

这里写图片描述

查看进程数量:

Last login: Sun May  6 07:30:43 2018 from 10.0.0.1
[[email protected] ~]# ps -ef|grep uwsgi
root      36594  36546  0 07:33 pts/1    00:00:00 uwsgi --http :9001 --wsgi-file app.py
root      36595  36594  0 07:33 pts/1    00:00:00 uwsgi --http :9001 --wsgi-file app.py
root      36671  36640  0 07:44 pts/2    00:00:00 grep --color=auto uwsgi
[[email protected] ~]# 

开多进程

开进程

[[email protected] data]uwsgi --http :9001 --wsgi-file app.py  --master --processes 4

然后查看进程
这里写图片描述

django程序使用uwsgi

执行命令启动

[[email protected] data]# ls
26380  6380  6381  6382  7000  7001  7002  7003  7004  7005  app.py  a.txt  b.txt  redis  s8day145  s8day145.zip  safly.tar.gz
[[email protected] data]# uwsgi --http :9005 --chdir /data/s8day145/ --wsgi-file s8day145/wsgi.py

这里写图片描述

执行文件启动

创建dj_conf.ini 文件

[[email protected] s8day145]# ls
app01  db.sqlite3  dj_conf.ini  manage.py  s8day145  static  templates

编辑内容如下:

[uwsgi]
http = 0.0.0.0:9005
chdir = /data/s8day145/
wsgi-file = s8day145/wsgi.py
processes = 4
static-map = /static=/data/s8day145/allstatic
[[email protected] s8day145]# 

然后通过[[email protected] s8day145]# uwsgi --ini dj_conf.ini启动即可

静态文件

vim s8day145/settings.py

在django项目配置文件末尾添加 STATIC_ROOT="allstatic"

然后执行python3 manage.py collectstatic
会生成allstatic目录

[[email protected] s8day145]# ls
allstatic  app01  db.sqlite3  dj_conf.ini  manage.py  s8day145  static  templates

里面是手机的静态文件

[[email protected] s8day145]# cd allstatic/
[[email protected] allstatic]# ls
admin  xianglong.jpg
[[email protected] allstatic]# 

此刻图片就会展现出来
这里写图片描述

nginx

利用Nginx做反向代理、负载均衡以及处理静态文件
安装nginx

yum install nginx

启动nginx

[[email protected] s8day145]# /bin/systemctl start nginx.service

这里写图片描述

文章来源: nginx部署

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:nginx部署