My_website ┣━ HelloWorld ┃ ┣━ blueprints ┃ ┃ ┗━ main.py ┃ ┣━ static ┃ ┃ ┗━ css ┃ ┃ ┗━ style.css ┃ ┣━ templates ┃ ┃ ┗━ index.html ┃ ┗━ __init__.py ┣━ run.py ┗━ .flaskenv
粗体是文件夹,没有粗体是文件
由于项目比较小,所以最终生成的requirment.txt文件只包含FLask库 所以在后续开发过程中,如果引进了新的第三方库,也需要更新这个文件
腾讯云 - 产业智变 云启未来
如果你是学生,或者低于25岁,即可享受校园云服务器优惠政策,一个月只需10元左右,需要实名认证,不用审核,都是秒认证的。
学生云服务器_学生云主机_学生云数据库_云+校园特惠套餐 - 腾讯云
选择第二个稍微比第二个好一点。点击购买
活动地区选什么都ok,镜像后面可以换,我加1块钱买了域名,超值。
进入控制台
进入该服务器
选择合适的系统
这里我们使用Ubuntu 18.04.1LTS
点击重置密码
用户名系统默认或者自定义都行,这里用系统默认
重置实例密码完成后页面会刷新一下,接下来就是搭建网站了
需要实名认证,这次需要身份证的照片,只有认证了才可以域名解析 不过我们可以先添加记录
添加记录
点击 “解析” 点击 “添加记录”
两条记录不同的是,如果你想访问你的网站,可以通过输入两个网址 第一张图是:www.zpjcmm.design 第二张图是:zpjcmm.design
保存完可以看到,两条记录,就等着实名认证可以之后,再用域名访问,我们可以先用ip地址访问我们的网址
新建会话
输入名称和主机地址(也就是服务器公网ip地址)
输入用户名和密码
这里的用户名就是在上面重置服务器后用的用户名,如果是系统默认就ubuntu,如果是自定义,就要用自定义的用户名
一路回车
保存文件 ctrl + o :编辑完成 回车:文件名确认 ctrl + x:退出编su
$ bash 创建虚拟环境 $ mkvirtualenv helloworld 克隆项目到服务器 (hell..)$ git clone https://github.com/zpj995380228/helloworld.git 安装所需的第三方库 (hell..)$ cd helloworld/ (hell..)$ pip install -r requirement查看防火墙状态
(hell..)(root)$ ufw status使用手机或者可以上网的电脑访问你的远程主机的IP地址的8000端口 比如我的就是:106.52.12.24:8000(记得冒号是英文输入状态下的冒号)
每次修改nginx配置文件都需要重启nginix服务
(hell..)$ sudo service nginx restart运行程序
(hell..)$ gunicorn -w 4 run:app [2020-10-22 07:12:26 +0800] [9935] [INFO] Starting gunicorn 20.0.4 [2020-10-22 07:12:26 +0800] [9935] [INFO] Listening at: http://127.0.0.1:8000 (9935) [2020-10-22 07:12:26 +0800] [9935] [INFO] Using worker: sync [2020-10-22 07:12:26 +0800] [9938] [INFO] Booting worker with pid: 9938 [2020-10-22 07:12:26 +0800] [9939] [INFO] Booting worker with pid: 9939 [2020-10-22 07:12:26 +0800] [9941] [INFO] Booting worker with pid: 9941 [2020-10-22 07:12:26 +0800] [9943] [INFO] Booting worker with pid: 9943直接访问ip地址
style.css被禁止,查看nginx错误日志
(hell..)$ nano /var/log/nginx/error.log 2020/10/22 07:12:32 [error] 9670#9670: *6 open() "/home/ubuntu/helloworld/HelloWorld/static//css/style.css" failed (13: Permission denied), cli$ 2020/10/22 07:12:39 [error] 9670#9670: *6 open() "/home/ubuntu/helloworld/HelloWorld/static//css/style.css" failed (13: Permission denied), cli$ 2020/10/22 07:17:32 [error] 9670#9670: *10 open() "/home/ubuntu/helloworld/HelloWorld/static//css/style.css" failed (13: Permission denied), cl$ 2020/10/22 07:17:43 [error] 9670#9670: *10 open() "/home/ubuntu/helloworld/HelloWorld/static//css/style.css" failed (13: Permission denied), cl$权限问题,修改nginx的权限就可以了
(hell..)$ nano /etc/nginx/nginx.conf user www-data; 删除这一行 user root; 换成这一行 ...再运行程序
(hell..)$ sudo service nginx restart (hell..)$ gunicorn -w 4 run:app [2020-10-22 07:28:31 +0800] [12285] [INFO] Starting gunicorn 20.0.4 [2020-10-22 07:28:31 +0800] [12285] [INFO] Listening at: http://127.0.0.1:8000 (12285) [2020-10-22 07:28:31 +0800] [12285] [INFO] Using worker: sync [2020-10-22 07:28:31 +0800] [12288] [INFO] Booting worker with pid: 12288 [2020-10-22 07:28:31 +0800] [12290] [INFO] Booting worker with pid: 12290 [2020-10-22 07:28:31 +0800] [12292] [INFO] Booting worker with pid: 12292 [2020-10-22 07:28:31 +0800] [12293] [INFO] Booting worker with pid: 12293