Mxonline3.6 在阿里云服务器上的部署(uwsgi nginx)

我的项目结构

1. 执行`python manage.py migrate`命令,将迁移文件,映射到数据库中,创建相应的表。

进入数据库 use mxonline数据库     source /home/Mxonline3-master/mxonline.sql  导入数据


2. 执行`python manage.py runserver 0.0.0.0:8000`,然后在你自己电脑上,在浏览器中输入`http://你的服务器的ip地址:8000/`,访问下网站所有页 面,确保所有页面都没有错误。
3. 设置`ALLOW_HOST`为你的域名,以及ip地址。
4. 设置`DEBUG=False`,避免如果你的网站产生错误,而将错误信息暴漏给用户。

 

### 安装uwsgi
1. uwsgi是一个应用服务器,非静态文件的网络请求就必须通过他完成,他也可以充当静态文件服务器,但不是他的强项。uwsgi是使用python编写的,因此通过`pip install uwsgi`就可以了。(uwsgi必须安装在系统级别的Python环境中,不要安装到虚拟环境中)。
2. 使用命令`uwsgi --http :8000 --module zhiliaoketang.wsgi --vritualenv=/root/.virtualenvs/django-env-py2`。用`uwsgi`启动项目,如果能够在浏览器中访问到这个页面,说明`uwsgi`可以加载项目了。

### 编写uwsgi配置文件:
在项目的路径下面,创建一个文件叫做mxonline.ini的文件

写入配置:

[uwsgi]
# socket文件
socket = 127.0.0.1:8000
# 项目的路径
chdir = /home/Mxonline3-master
# Django的wsgi文件
module = Mxonline3.wsgi
# 进程相关的设置
# 主进程
master = true
# 最大数量的工作进程
processes = 10
# 设置socket的权限
chmod-socket = 664
# 退出的时候是否清理环境
vacuum = true
buffer-size = 65536
# Python虚拟环境的路径
home            = /root/.virtualenvs/django_env

然后使用命令`uwsgi --ini mxonline.ini`,看下是否还能启动这个项目。

### 安装nginx:
1. nginx是一个web服务器。用来加载静态文件和接收http请求的。通过命令`sudo apt install nginx`即可安装。
2. `nginx`常用命令:
    * 启动nginx:service nginx start
    * 关闭nginx:service nginx stop
    * 重启nginx:service nginx restart

### 编写nginx配置文件:

在/etc/nginx/conf.d下新建一个文件  mxonline.conf

写入配置:

 upstream django {
        server 127.0.0.1:8000;
 }
        server {
          listen 80;
          server_name www.donghao.club;
          server_name 47.107.66.196;
          charset utf-8;
          client_max_body_size 75M;
          location /static {
                alias /home/Mxonline3-master/static;
                }
                location / {
                uwsgi_pass django;
                include /etc/nginx/uwsgi_params;
                        }
        }

写完配置文件后,为了测试配置文件是否设置成功,运行命令:`service nginx configtest`,如果不报错,说明成功。
每次修改完了配置文件,都要记得运行`service nginx restart`。

回到项目->使用命令   uwsgi mxonline.ini

这样项目就运行起来了

值得注意的是:由于我是用的阿里云服务器,我们需要开放25端口,用来发送邮件,不然会发送超时。

这样就部署成功了,当然你也可以用supervisor来对进程管理。

mxonline 线上地址:http://www.donghao.club/

Github:https://github.com/1417766861/Mxonline3.6

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uwsginginx是常用的Python Web应用程序部署工具,可以用于部署Flask项目。下面是部署Flask项目的步骤: 1. 安装uwsginginx 在Linux系统中,可以使用以下命令安装uwsginginx: ``` sudo apt-get install uwsgi nginx ``` 2. 创建Flask应用程序 在Flask应用程序的根目录下,创建一个名为`app.py`的文件,并在其中编写Flask应用程序的代码。 3. 创建uwsgi配置文件 在Flask应用程序的根目录下,创建一个名为`uwsgi.ini`的文件,并在其中编写uwsgi的配置信息。例如: ``` [uwsgi] module = app callable = app master = true processes = 4 socket = /tmp/uwsgi.sock chmod-socket = 660 vacuum = true die-on-term = true ``` 其中,`module`和`callable`分别指定Flask应用程序的模块名和可调用对象名。`socket`指定uwsginginx之间的通信方式,`processes`指定uwsgi启动的进程数。 4. 创建nginx配置文件 在Linux系统中,可以在`/etc/nginx/sites-available/`目录下创建一个名为`flask`的文件,并在其中编写nginx的配置信息。例如: ``` server { listen 80; server_name example.com; location / { include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi.sock; } } ``` 其中,`listen`指定监听的端口号,`server_name`指定服务器的域名。`location`指定请求的URL路径,`uwsgi_pass`指定uwsgi的通信方式。 5. 启动uwsginginx 在Flask应用程序的根目录下,使用以下命令启动uwsgi: ``` uwsgi --ini uwsgi.ini ``` 在Linux系统中,使用以下命令启动nginx: ``` sudo service nginx start ``` 6. 访问Flask应用程序 在浏览器中输入服务器的IP地址或域名,即可访问Flask应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值