导入数据库表
- (venv)$ python3 manage.py db init
- (venv)$ python3 manage.py db migrate
- (venv)$ python3 manage.py db upgrade
退出假造情形
- (venv)$ deactivate
2.设置uwsgi
在项目文件夹中新建一个uwsgi.py的文件和uwsgi.ini的文件,并填入设置
- $ cd /path/to/your/project
新建uwsgi.py
- $ vi uwsgi.py
导入建设应用的工场函数
- from webapp import create_app
- app = create_app("production)"
新建uwsgi.ini
- $ vi uwsgi.ini
输入以下内容:
- [uwsgi]
- module = uwsgi:app
- master = true
- processes = 5
- uid = user
- socket = /run/uwsgi/myapp.sock
- chown-socket = user:nginx
- chmod-socket = 660
- vacuum = true
- die-on-term = true
上面的设置文件中的user是你新建的Linux用户名,第一句是汇报uwsgi我们的应用是uwsgi文件中的app,master和processes是处事器是否启用主历程和历程数,uid是启动uwsgi的用户,scoket是指把uwsgi天生的sock放在什么处所,chown-socket是修改sock的全部者,这样nginx和uwsgi可以同时会见,chmod-socket是修改sock的权限,vacuum是在措施退出时移除sock,由于后头我们会行使systemd来节制uwsgi,由于个中节制信号存在不同,以是行使die-on-term参数。
行使systemd节制uwsgi
新建uwsgi处事
- $ sudo vi /etc/systemd/system/uwsgi.service
填入如下内容:
- [Unit]
- Description=uWSGI instance to serve myapp
- [Service]
- ExecStartPre=-/usr/bin/bash -c 'mkdir -p /run/uwsgi; chown user:nginx /run/uwsgi'
- ExecStart=/usr/bin/bash -c 'cd /home/user/myapp; source myappenv/bin/activate; uwsgi --ini myapp.ini'
- [Install]
- WantedBy=multi-user.target
这样就完成了uwsgi的设置,我们可以像节制mysql一样来节制uwsgi了。
- $ sudo systemctl start uwsgi
- $ systemctl status uwsgi
- $ sudo systemctl enable uwsgi
- $ sudo systemctl stop uwsgi
3.设置nginx
nginx的设置文件位于/etc/nginx/nginx.conf
- $ sudo vi /etc/nginx/nginx.conf
我们只必要修改响应部门就可以了,关于nginx更多的细节将单独再写。
- server {
-
- listen 80;
-
- server_name server_domain_or_IP;
-
- location / {
-
- include uwsgi_params;
-
- uwsgi_pass unix:/run/uwsgi/myapp.sock;
-
- }
-
- location /static/ {
-
- alias /home/user/myapp/static/;
-
- }
这里我们添加了location /static/,这是为了让js css这些静态文件直接由nginx经受,以是要修改这些静态文件的会见权限。
- $ cd /home/user/myapp/static/
- $ chown -R user:nginx static
- $ chmod -R 660 static
最后尚有一个小坑,nginx在启动加载时会报错。
- $ sudo mkdir /etc/systemd/system/nginx.service.d
- $ cd /etc/systemd/system/nginx.service.d
- $ sudo vi override.conf
填入如下内容:
- [Service]
- ExecStartPost=/bin/sleep 0.1
生涯退出!
到此设置就完成了,启动处事看看结果吧!
测试nginx
- $ sudo nginx -t
启动nginx
- $ sudo systemctl start nginx
配置开机启动
- $ sudo systemctl enable nginx
(编辑:河北网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|