目录1 创建云服务器2 云服务器配置3 部署python项目1 创建云服务器由于没有截图了我就简单说明一下①在一些云服务器官网选择产品我选择的是 云服务器ECS个人版可以先用试用云服务器去尝试。②立即试用后到选择界面我选择广州的大家可以根据自己的地区选择离自己最近的服务器配置可以选择最低配也够用了如果你需求高可以选择高配一点的然后按以下选择配置操作系统ubuntu预装宝塔面板Linux至此创建试用实例完成。2 云服务器配置①先进入工作台找到云服务器ECS实例找到网络与安全组②在入方向中添加入方向规则按以下创建8888手动输入其他在里面可以找到注意这里是三个端口。③点击远程连接进入到云服务器这里说需要workbench直接使用它原本的内容点确定即可。④进入到页面后在命令行输入bt default会输出类似以下内容外网面板地址: http://8.14.190.64:8888/xxxxxx 内网面板地址: http://172.xx.xx.xx:8888/xxxxxx username: xxxxxxxx password: xxxxxxxx此时一定要记住username和password截图并复制保存。⑤现在打开另一个浏览器页面我用chrome浏览器输入外网面板地址填写服务器上面显示的外网面板地址: http://8.14.190.64:8888/xxxxxx即可进入到以下页面⑥输入自己的账号密码一键专享绑定进入到以下⑦选择安装LNMP推荐以下内容为wordpress安装若不使用wordpress可直接跳过之前顺便安装了等待安装过程中在左侧栏找到文件进入到/www/wwwroot/8.14.190.648.14.190.64改为自己的网站名在左上角找到输入以下链接进行下载https://cn.wordpress.org/latest-zh_CN.zip下载好后解压拥有以下文件夹则成功。在左侧边栏找到网站点击设置在网站目录那里添加子目录/wordpress保存并关闭放跨站攻击。⑧在左侧栏找到数据库添加数据库进入到数据库配置页面修改信息数据库名用户名密码都可以自己设置密码用他的强密码也可以但是要记住他的密码⑨在阿里云扩展面板左侧栏找到网站找到自己刚刚配的网站名点击设置在左侧找到伪静态选择wordpress保存。⑩另开一个网页输入自己的网站名刚才网站那里可以看到也是外网ip进入后出现以下提示则表明创建成功进入后填写自己刚才创建的数据库信息点击提交运行安装程序这里需要填写信息站点标题给你的网站起个名字比如“我的个人博客”以后可以随时改用户名设置你登录WordPress后台的账号不要用admin起个别的名字更安全密码设置一个非常强大的密码WordPress会提示强度并记录下来电子邮件填写你常用的真实邮箱用于找回密码等对搜索引擎的可见性建议先勾选等网站完全做好后再开放。然后登陆进入WordPress。进入到这个页面即可开启你的制作这里的制作还是比较可视化的很快能学会。以上为wordpress安装至此完成配置。3 部署python项目3.1数据库准备①创建一个新的数据库②修改已经写好的flask项目中的数据库配置内容# MySQL数据库配置 app.config[SQLALCHEMY_DATABASE_URI] mysqlpymysql://username:passwordlocalhost/database_name app.config[SQLALCHEMY_TRACK_MODIFICATIONS] False app.config[MYSQL_UNIX_SOCKET] /tmp/mysql.sock注意修改用户名密码和数据库名最后一行socket是在mysql的配置文件中找到在左侧栏软件商店查找MySQL拉最右边点设置找到②写一个初始化数据库的代码可以问一下ai需要包含创建表及插入数据3.2python项目部署①左侧栏找到文件在这里创建自己的项目文件夹②把自己准备好的python项目上传③左侧栏找到网站点击python环境管理创建虚拟环境无法创建的先随便添加一个项目python环境选择自己等下要的创建完成后打开他的终端在命令行输入sudo apt install python3-venv下载完成后再回到创建虚拟环境此时就可以创建成功。④填好信息这里创建项目选择uwsgi项目端口需要去入方向规则添加之前有说怎么添加python环境选择刚才创建好的虚拟环境项目地址选择上传的项目应用名称可以填app。⑤创建完成后点击设置选择域名管理填写自己的域名⑥打开外网映射⑦再次点开项目终端下载你所需要的库可以先下载我这个后面缺什么再下什么pip install flask flask-sqlalchemy pymysql flask-migrate⑧在左侧栏找到软件商店输入Nginx点击设置修改配置文件先复制粘贴下面这段代码user www www; worker_processes auto; error_log /www/wwwlogs/nginx_error.log crit; pid /www/server/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; stream { log_format tcp_format $time_local|$remote_addr|$protocol|$status|$bytes_sent|$bytes_received|$session_time|$upstream_addr|$upstream_bytes_sent|$upstream_bytes_received|$upstream_connect_time; access_log /www/wwwlogs/tcp-access.log tcp_format; error_log /www/wwwlogs/tcp-error.log; include /www/server/panel/vhost/nginx/tcp/*.conf; } events { use epoll; worker_connections 51200; multi_accept on; } http { include mime.types; #include luawaf.conf; include proxy.conf; lua_package_path /www/server/nginx/lib/lua/?.lua;;; default_type application/octet-stream; server_names_hash_bucket_size 512; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 50m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 5; gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/json image/jpeg image/gif image/png font/ttf font/otf image/svgxml application/xmlrss text/x-js; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable MSIE [1-6]\.; limit_conn_zone $binary_remote_addr zoneperip:10m; limit_conn_zone $server_name zoneperserver:10m; server_tokens off; access_log off; server { listen 80; server_name xxxx;#域名 index index.html index.htm index.php; root /www/wwwroot/xxxx;#项目地址 # allow 127.0.0.1; # allow ::1; # deny all; #error_page 404 /404.html; # include enable-php.conf; location / { proxy_pass http://127.0.0.1:10123; # Flask端口 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; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\. { deny all; } access_log /www/wwwlogs/access.log; } include /www/server/panel/vhost/nginx/*.conf; }注意修改域名端口项目地址端口是刚才创建项目的端口⑨再次打开终端运行数据库初始化代码⑩重启项目此时打开自己的域名应该是可以看到自己做好的网站并且成功显示数据库内容的由于是我后面回顾时写的遇到某个问题没有成功的可以留言我看看。