当前位置: 首页 > wzjs >正文

鼓楼徐州网站开发优化网络搜索引擎

鼓楼徐州网站开发,优化网络搜索引擎,二建电子证书查询入口,前端做网站一般用什么框架1 前言 说实话,我并不想接触linux系统,要记住太多的命令。我更习惯windows系统,鼠标点点,只要记住少量的命令就可以了。 但是我选择了python,就注定无法逃避linux系统。虽然python也能在windows上很好的运行&#xff0…

        1 前言

        说实话,我并不想接触linux系统,要记住太多的命令。我更习惯windows系统,鼠标点点,只要记住少量的命令就可以了。

        但是我选择了python,就注定无法逃避linux系统。虽然python也能在windows上很好的运行,但根据我的观察,python更适合在linux系统上运行(在windows上,跟C#这类语言比,感觉python就像外人)。

        既然躲不过,那就开干。就像我不想学JavaScript一样,但涉及前端就躲不开它。谁让咱是全(guang)栈(gan)开(si)发(ling)呢😂?

        我决定从流行的ubuntu开始(虽然树莓派的官方系统之前用过,不过不是当服务器用的,而且也多用的是图形界面)。

        正好我要参加一个考试,给了一个pdf题库,只要背题就可以了。作为程序员怎么可能直接在pdf里面背题呢? 做个答题系统不香吗?我决定先用ai做个简易答题系统,在ubuntu server上部署,先用起来再说。

        2 准备部署环境

        2.1 更新服务器

        确保目标服务器上的软件是最新的,使用如下命令来更新Ubuntu服务器:

sudo apt update
sudo apt upgrade

        2.2 安装python和pip

        Flask需要Python环境。确保目标服务器上安装了Python 3和pip。

sudo apt install python3 python3-pip

        一般情况下系统已经自带,无需安装。

        2.3 安装虚拟环境组件,并建立虚拟环境

        使用如下命令安装组件:

sudo apt install python3-venv

        定位到项目部署目录,执行如下命令:

python3 -m venv myprojectenv

        注意:这里的“myprojectenv”是虚拟环境所在文件夹名称,可以根据自己的需要换成其他名称。

        2.4 激活虚拟环境

        运行如下命令来激活虚拟环境:

source myprojectenv/bin/activate

        注意: 这里的“myprojectenv”是自定义的虚拟环境目录名称

        3 安装项目依赖的模块

        将项目代码上传到服务器的部署目录下,记得先在开发环境使用“pip freeze > requirements.txt”命令生成requirements.txt文件

        在服务器上已经激活的虚拟环境里安装依赖:

pip install -r requirements.txt

        4 使用tornado作为wsgi

                在项目中使用tornado模块来创建,示例如下:

        app.py的内容

from flask import Flaskapp = Flask(__name__)@app.route("/")
def hello():return "Hello, World!"

run.py的内容

from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from app import app  # 导入你的Flask应用http_server = HTTPServer(WSGIContainer(app))
http_server.listen(8000)  # 定义监听的端口
IOLoop.current().start()  # 启动事件循环

        5 运行项目

        用上面的例子,在已经激活的虚拟环境中执行如下命令来运行项目:

python run.py

        这时可以使用   http://ip地址:8000/  来访问。不过该方法的缺点是退出终端窗口后,程序也退出运行。要在后台运行,可以使用nohup命令:

nohup python run.py &

        我的答题系统运行界面如下,真的很简易:

        6 使用nginx作为反向代理

        还可以再在外面加一层反向代理,应该可以让系统更稳定可靠吧。我用的是nginx。

        6.1 安装nginx

sudo apt install nginx

        6.2 配置nginx

‌        创建Nginx配置文件‌,为该项目创建一个单独的Nginx服务器配置文件。

sudo nano /etc/nginx/sites-available/myapp

        这里的“myapp”是自定义的配置文件名称。添加的内容示例:

server {listen 80;  #监听端口server_name localhost;server_name 0.0.0.0;  #对外网开放location / {proxy_pass http://127.0.0.1:8000;  #转发的网址,即wsgi访问的地址proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}location /static/ {alias /path/to/your/app/static/;}
}

        proxy_set_header用来将原始请求的头部信息传递给后端,确保应用能获取正确的客户端ip和主机名‌

        location /static/ 定义了如何处理静态文件的请求。

        alias /path/to/your/app/static/; 表示静态文件的路径。需要将 /path/to/your/app/static/ 替换为你的应用静态文件的实际路径,例如 /home/user/myapp/static/。 这样静态文件的请求就直接在这里发给前端,无需经过后端,减小后端的压力。

        6.3 激活nginx配置

sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx

        以上的路径要根据实际情况替换,命令解释如下:

sudo ln -s ...  这个命令创建了一个符号链接,将你的配置文件从 sites-available 目录链接到 sites-enabled 目录,从而启用该配置。

sudo nginx -t  这个命令用于测试 Nginx 配置文件的语法是否正确。如果没有错误,它会输出 syntax is oktest is successful

sudo systemctl restart nginx  这个命令重启 Nginx 服务,使新的配置生效。

        6.4 给nginx分配访问文件的权限

        查看 Nginx 运行用户

ps aux | grep nginx

        通常 Nginx 的工作用户是 www-datanginx

        修改文件夹权限

        将 static 文件夹及其内容的所有者设置为 Nginx 用户,并确保文件夹有读取权限:

sudo chown -R www-data:www-data /path/to/your/static
sudo chmod -R 755 /path/to/your/static

        如果使用的是 nginx 用户,将上述命令中的 www-data 替换为 nginx

        检查父目录权限

        确保所有父目录(如 /path/to/your/)对 Nginx 用户开放执行权限:

sudo chmod o+x /path/to/your

        6.5 nginx的维护

一般情况下nginx服务已经运行了。可以使用“sudo systemctl restart nginx” 重启服务,还可以使用“tail -f /var/log/nginx/error.log”查看错误日志,了解运行情况。

7 后记

        虽然目前并没有使用linux系统的需求,但作为技术储备也好,发觉linux的未来发展前景也罢,总要学习一点的。

        现在部署的答题系统设计的非常简易,代码很少,基本是ai给出的,没有用户管理只支持一个人答题。计划等考完继续升级,不但支持多用户,还要能使用小程序在手机上打开,再在gitcode上开源发布。趁着这个项目,既熟悉linux系统,又能学习小程序开发和发布开源项目,可谓一举多得。

http://www.dtcms.com/wzjs/50144.html

相关文章:

  • 秀山网站建设新手怎么做网络推广
  • 庆阳市建设局网站站长工具怎么用
  • 系部网站开发项目的目的百度关键词刷搜索量
  • 施工企业市场部360seo
  • 营销型网站怎么做seo查询官方网站
  • 装修在线设计网站纵横seo
  • 浙江网站建设推广长沙靠谱seo优化费用
  • 台山网站建设中国教师教育培训网
  • 温州专业营销网站制作福州百度seo排名软件
  • 俄罗斯网站建设佛山网络推广培训
  • 网站首页顶部图片尺寸品牌推广的三个阶段
  • 备案网站免网北京seo薪资
  • 做网站建设挣钱吗娄底seo
  • 二手物品交易网站设计英文搜索最多的关键词的排名
  • 技术支持:佛山网站建设seo研究协会网
  • 四核网站建设友情链接对网站的作用
  • dede5.7模板 新闻文章网站源码seo就是搜索引擎广告
  • 织梦怎么修改网站标题2021年年度关键词
  • 网站建设与网页设计ppt青岛网站设计制作
  • 网站建设实训报告要求随州今日头条新闻
  • 重庆云阳网站建设公司推荐网络营销有哪些推广方法
  • 网站最新发布址百度seo费用
  • 中华建设网算什么级别网站短视频搜索seo
  • wordpress建站过程百度客服系统
  • b2b与b2c的区别是什么网站如何优化排名
  • 专门做调查的网站百度云盘网官网
  • 做网站需要多大的空间四年级2023新闻摘抄
  • 免费网站如何做推广定制网站制作公司
  • 宁夏建设管理局网站百度快照和广告的区别
  • 收费网站建设seo国外英文论坛