web服务器部署
项目部署
1、概况
2、云服务器
2.1云服务器购买
腾讯云、阿里云...选用 Centos、Ubuntu、redhat等Linux系统
记住云服务器IP(即公网IP)
2.2登陆云服务器
登录云服务器:1、web页面 (非主流) 2、xshell(Windows) 3、item2(mac)
xshell登录服务器步骤:ssh root@公网IP
xshell记住密码:新建连接(用户名、ssh、22端口、主机号-公网ip)身份验证用户名密码
2.3服务器端口和安全组
端口:其他可以通过端口来使用服务器的功能
IP地址-->电脑
端口-->A程序
端口-->B程序
端口-->C程序
常用端口:
端口号 | 服务 |
---|---|
22 | ssh |
3306 | MySQL |
6379 | Redis |
80 | http |
443 | https |
安全组:(类似于规则表)
支持哪些端口、来源、协议,禁止哪些端口、来源、协议
3、代码上传
3.1软件安装
自己电脑:git
代码仓库:gitee、github、gitlab
需要注册代码仓库账号,并记住仓库地址
3.2代码上传码云步骤
1、本地电脑安装git
2、远程仓库https://...(新建仓库的仓库地址)
3、本地项目配置.gitigonre(网上可以找到各类语言项目的.gitignore配置文件)
gitigonre文件就是配置让git自动忽略的文件
4、git:上传代码
-
一次性命令
git config --global user.name"DENLIN"
git config --global user.email"邮箱地址" //代表上传代码作者的用户名和邮箱
cd day28 //进入项目所在位置
git init //git初始化,会自动创建一个.git隐藏文件
git remote add origin https:仓库地址 //将本地git与代码仓库gitee关联并将仓库地址名为origin
2.经常执行
git add.
git commit -m '备注'
git push origin master //master是代码仓库的一个分支目录
注意:输入账户密码是码云的账户密码
3.3服务器下载代码
1.服务器安装git
yum install git -y
补充:pip为python安装依赖包
npm为nodejs安装依赖包
yum为系统安装软件
2.服务器拉去码云代码
1、第一次
cd /data/
mkdir www
git clone 仓库地址
账号密码(码云)
2、修改过在此更新
cd /data/www/day28/
git pull origin master
4、安装python
4.1安装gcc
yum install gcc -y
4.2安装python依赖
4.3下载源码python3.9.5
yum install wget -y //安装wget工具
cd /data/ //进入指定目录
wget +压缩包网址
//下载python3.9.5源码
4.4解压&编译&安装
tar -xvf Python-3.9.5.tgz //解压压缩包
cd Python-3.9.5 //进入目录
./configure //编译
make install //安装
4.5测试
随便进入一个目录输入python3
查看是否是安装的python3.9.5
4.6python解释器配置豆瓣源
5、虚拟环境
5.1安装virtualenv
pip3.9 install virtualenv //pip为python安装依赖
5.2创建虚拟环境(nb)
cd /data/www/day28/ //进入到/data/www/day28/目录
mkdir /envs //创建envs目录
virtual /envs/nb --python=python3.9 //创建虚拟环境nb
5.3激活虚拟环境
source /envs/nb/bin/activate //激活虚拟环境nb
6、uwsgi
6.1安装uwsgi
source /envs/day28/bin/activate //先激活虚拟环境
pip install uwsgi //安装uwsgi
6.2基于uwsgi运行flask项目
cd 项目目录 //进入项目目录
--命令行运行项目
uwsgi --http :80 --wsgi--file app.py --callable.app
--配置文件运行项目(推荐)
uwsgi --ini nb_uwsgi.ini & (&在后台运行)
注意:在每次更新代码需要重启uwsgi(杀掉之前后台,再重新运行)
7、Nginx
7.1安装Nginx
yum install nginx -y
7.2配置
--普通请求 --> 8001端口
--静态文件 /static/ ---> /data/www/day28/static
niginx处理用户请求,如果是静态文件自己返回处理,如果是其他请求通过niginx转交给8080端口uwsgi
nginx配置文件放置在/etc/nginx/nginx.conf
7.3配置nginx.conf步骤:
rm nginx.conf //删除
touch nginx.conf //创建
vim nginx.conf //编辑器打开文件
cat nginx.conf //查看内容
7.4启动nginx
A临时启动
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
B开机启动
ystemctl enable nginx
8、shell脚本
8.1重启reboot.sh
8.2停止stop.sh
对文件赋权
chmod 755 reboot.sh 赋权
chmod 755 stop.sh 赋权
./reboot.sh 执行
./stop.sh 执行
9、MySQL
9.1安装MySQL服务
yum install mariadb-server -y
yum install mariadb -y
9.2授权
mysql -u 用户 -p密码 //命令行登录mysql
show databases //查看已有数据库
创建数据库 day28db //创建数据库day28db
创建账户 s5 //c创建账户s5
授权
9.3测试
A远程测试用navicat
B本地测试 --无密码可以登录
--有密码无法登录
-
启动 mariadb
systemctl start mariadb
systemctl enable mariadb
-
连接
--命令连接
--navicat
--pymysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix