【入门】从零开始建网站-可以正常外网访问啦
文末“阅读原文”访问CSDN,阅读效果更佳。或者扫面下面二维码直达CSDN:
细节优化1--稳定运行
我们开始进一步的网站搭建。之前的基础入门是最简单的基本访问,如果我断开Linux的远端连接,服务就会挂掉。因为用的是flask自带的简易调试服务器,正儿八经还得是成熟的产品才行,所以我们用flask + nginx + uWSGI部署。
为什么是flask + nginx + uWSGI部署
wsgi web应用程序之间的接口。它的作用就像是桥梁,连接在web服务器和web应用框架之间。 uwsgi 是一种传输协议,用于定义传输信息的类型。 uWSGI 是实现了uwsgi协议WSGI的web服务器。
想了解详细内容可以参考这篇文章:什么是uWSGI?什么是flask?什么是nginx?
先写一段简单的代码
"""
-*- coding: utf-8 -*-
@Author : blyang
@project : PythonCode
@Time : 2021/1/4 21:35
"""
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Hi,欢迎您的光临~<br>关注公众号Python小灶,每天学习新知识~<h1>'
if __name__ == "__main__":
app.run()
uWSGI
安装
切换到虚拟环境,以你自己的为准:source /home/blyang/flask_demo/bin/activate
下载
pip install uwsgi
在项目的目录创建一个uwsgi的配置文件
比如我在/home/blyang/python_code/flask_demo
目录下创建uwsgi.ini文件
[uwsgi] #配合nginx使用 socket = 127.0.0.1:8000 #项目路径 /home/blyang/python_code/flask_demo/ chdir = 自己项目路径 #文件名 wsgi-file = run.py #程序内启用的application变量名 callable = app #指定工作进程 processes = 4 #主进程 master = true #每个工作进程有2个线程 threads = 2 #指的后台启动 日志输出的地方 daemonize = uwsgi.log #保存主进程的进程号 pidfile = uwsgi.pid #虚拟环境环境路径 virtualenv = /home/blyang/flask_demo/
启动
uwsgi /home/blyang/python_code/flask_demo/uwsgi.ini
其它命令
uwsgi --reload /home/blyang/python_code/flask_demo/uwsgi.pid 重启 uwsgi --stop /home/blyang/python_code/flask_demo/uwsgi.pid 停止
nginx
安装
按照以下教程,成功启动nginx服务。
nginx作用nginx安装教程
简单来说,nginx是全球比较流行的服务器(不是物理服务器,是软件,我们的代码要挂在一个服务上一直跑,就是这个web服务器)
安装过程总体顺利,有点小坑的地方:1、在 安装 Nginx 部分,所用示例版本太老,用最新的稳定版,否则可能安装不成功 2、在 Nginx 配置 部分,先用默认的的/usr/local/webserver/nginx/conf/nginx.conf配置文件就好,然后这个地方改成自己的IP和监听端口就可以了。
server {
listen 80;
server_name 47.111.250.14;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
}
启动
/usr/local/webserver/nginx/sbin/nginx
**最终效果:**代表nginx成功安装、启动。
Nginx 其它命令
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件 /usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx /usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx
配置nginx.conf ,/usr/local/webserver/nginx/conf/nginx.conf
总结
**最终效果:**代表nginx成功安装、启动。
经过这样一番操作,我写的代码就24小时挂在了网上一直在运行,全世界都可以访问啦!这就是网站的雏形,接下来只需要不断地丰富网站就行啦!域名访问:(注意端口要是默认的80才能生效)
公网IP访问:
相关推荐