目录
为了装x,展示一下我的私人网站(当然,用了别人的模板)LJR的主页 (ljr672.top)http://www.ljr672.top/,这个网站是纯前端开发的(无后端),问题不大,后期会优化更新
今天说的是基于后端开发的网站的上线,而且主要是教大家如何上线,会教大家做一个最简单的网页,并且用世界上任何可联网设备都能打开该网页,要是想有什么修饰的话,可以移步至其他flask和html+css+JavaScript的详细教学(大概一个月可以搞定),当然,大家也可以找模板。
前提准备:
1.服务器:
linux云服务器(而且会使用Linux的基础操作),一般几百米一年,大家可以买中国境内的服务器,也可以买香港或境外的,后者不需要备案,相对方便一点
服务器如何查看IP?在云服务器终端输入
ipconfig
2.域名
并且绑定到你服务器的ip地址
way:打开阿里云官网,登录,搜索注册域名(要花钱,不同域名后缀价格不同),注册后,
点击域名控制台--域名列表--解析--新手引导(框内输入云服务器IP),解析到自己服务器即可
flask
对于前后端
项目文件夹
|
|-app.py
|-Template
|-index.html
import time
from flask import Flask, render_template
from fuzzywuzzy import fuzz
import re
app = Flask(__name__)
@app.route('/search', methods=['GET', 'POST'])
def helloworld():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
项目内python启动文件为app.py,代码如上,指向index.html,
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>你好,这是一个网站</h1>
</body>
</html>
也可以无前端,纯flask后端
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, World!"
if __name__ == '__main__':
app.run(debug=True)
如果你想立刻让这个网站上线
注意!第一步,放行端口和安全组
放行端口可以看这个博主的文章,放行安全组需要在阿里云(或其他平台)的“防火墙”处设置
不然别人无论如何看不到这个端口挂载的网站
需要在flask的run()函数里面设置ip和端口号,如
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, World!"
if __name__ == '__main__':
app.run(debug=True, port=8080)
这里你的网站挂在了端口为8080上,记得放行8080端口和防火墙。
然后进入对应的虚拟环境(我这篇文章有提及如何安装conda便于配环境),或者在主环境
测试环境python环境
终端输入python,如果无报错且版本号为3.x,就可以。
如果是2.x,试试输入python3,如果输入python3报错,则安装3.x版本。
如输入python3无报错,那以下所有含有“python”的命令都要写成“python3”
输入代码,运行
python app.py
报错的话,如果是类似于“no model...”,则是环境内没有安装需要的库,比如说对于没有flask的报错,就
pip install flask
此时,在浏览器上面输入url的小框框里面输入:你的服务器公网ip:端口号,即可,如
1.2.3.4:8080
正文开始!!!gunicorn+nginx
Nginx 是一个高性能的开源反向代理服务器,也可以用作负载均衡器、HTTP缓存以及作为静态文件服务器。它最初由伊戈尔·赛索耶夫创建,其设计目标是处理高并发的网络流量。Nginx 的主要特点包括低内存消耗、高并发处理能力、处理静态文件效率高、模块化设计、可扩展性强等。Nginx 在 Web 服务器领域的广泛应用,特别是作为反向代理服务器,使得它成为构建高可用性、高性能 Web 应用的重要工具之一。
Gunicorn(Green Unicorn)是一个 Python WSGI HTTP 服务器,用于运行 Python Web 应用程序。它实现了WSGI(Web Server Gateway Interface)规范,允许 Python 应用程序通过标准接口与外部 Web 服务器(如 Nginx、Apache 等)进行通信。Gunicorn 最初是由Benjamin Peterson创建的,现在是一个广泛使用的 Python Web 服务器。Gunicorn 的设计目标是简单、易于使用、高效,并且能够处理多个并发请求。
gunicorn的下载安装很简单,
pip install gunicorn
对于nginx的安装你可能需要上点心思
请移步至该文章
设置项目文件路径:
项目文件夹
|
|-app.py
|-gunicorn.conf.py
|-file #存放静态文件
| |-img
| |-static
| |-等等
|
|-Template
|-index.html
flask
app.py # run()函数里面不需要设置端口号,在gunicorn里面设置
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
if __name__ == '__main__':
app.run()
gunicorn
gunicorn.conf.py bind里更改端口号
bind = "0.0.0.0:8000" # 绑定到所有IP地址上的8000端口
workers = 3 # 根据你的服务器资源调整工人数
nginx的conf配置文件
命令行输入nginx -t可显示,比如是/usr/local/nginx/conf/nginx.conf
那就命令行输入
vi /usr/local/nginx/conf/nginx.conf
然后
sever块:
server {
listen 80;
server_name www.ljr672.top; // 改为绑定你网站的域名
location / {
proxy_pass http://127.0.0.1:8080; // 更改端口,“127.0.0.1”不要动
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
结束,现在刷新nginx配置
nginx -s reload
最后,命令行输入
gunicorn app:app -c gunicorn.conf.py > gun.log 2>&1 &
没有报错的话,你大概就可以去浏览器看看你的网站了!
最重要的:
新手在配置环境,操作等等时候很容易出现错误,这时候一定要学会面向百度编程、面向ChatGPT编程,只有这样,你才能事半功倍
祝网站上线成功!!!
如果觉得有帮助的话,不要忘记点赞关注哦~