上节回顾

# 1 文件存储
-之前上传到服务器,放到media文件夹下
-使用文件服务器托管文件
-1 第三方托管
-阿里云oss
-腾讯云
-七牛云
-2 基于开源文件服务器自己搭建
-fastdsf---》中小文件
-minio
-go-fastdsf:是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点 # 2 搜索功能
-前端Header.vue 搜索框
-搜接口:结果:实战课,轻课,免费----》分布式全文检索引擎
-前端搜索结果页面 # 3 支付宝支付
-商户:我们系统---》申请商户号,营业执照
-沙箱环境:测试商户号
-买家:测试买家
-支付流程
-用户在我们系统中点击立即购买-----》我们后端生成支付链接----》返回给前端---》打开这个地址(支付宝付款页面)----》用户扫码/输入账号密码付款----》支付宝收到用户付的款---》用户付到支付宝商户上----》支付宝会有前端回调(get回调)---》掉回到我们的页面(配置的)---》我们做了个付款成功的页面---》后台写了两个支付回调接口(get自己用,post支付宝用:验证签名) -使用第三方sdk
-封装了包
-__init__
-settings.py
-pay.py
-pem
-支付宝公钥
-咱们私钥 # 4 订单板块表结构
-Order
-OrderDetail # 5 下单接口
-前端传入的数据---》{courses:[1,],total_amount:99,subject:订单标题}
-后端:
1 取出所有课程---》
2 计算订单总价格,跟传入的比较
3 取出当前登录用户---》Order表中有谁购买的
request.user中取
4 生成订单号:uuid
5 生成支付链接,放到context中
6 入口前准备:user放到attrs中,订单号放到attrs中 7 生成订单---》存入Order和OrderDetail表 # 6 前端支付
-open
-付款成功页面 # 7 两个回调
-get
-post:支付宝用的,回调不到我们目前的项目的 # 自研

uuid重复问题

# 你们公司唯一id号(订单号)如何生成的?
-使用uuid:uuid好像有重复的可能,我们知道有重复的可能,但是我们没有遇到过,可能因为数据量比较小
-如果使用时间戳:会重复
-时间戳+mysql自增(速度慢)
-时间戳+redis自增
-雪花算法,美团leaf算法。。。

内网穿透

# 内网穿透
-我们写的项目,如果没有公网ip,都是内网,只能公司内部使用,外网的人访问不到
-内网穿透的工具,让外网的人能够访问到我们的项目
-花生壳
-做测试用 # localhost,127.0.0.1 本机网卡地址
-程序监听了 127.0.0.1,只能使用localhost,127.0.0.1
-程序监听了 0.0.0.0 localhost,127.0.0.1 本机网卡地址 都可以访问
-局域网内的机器可以通过你的ip[本机网卡地址],访问到你
-如果监听了127.0.0.1,是不行的

支付宝验签

验证签名是支付宝使用我们给它的公钥进行了一个加密,通过我们的私钥可以解密,来进行验证是否为支付宝返回的数据。

内网ip和公网ip:

今日内容

1 上线架构图

# 服务器,公网ip地址
-云服务器:阿里云,腾讯云 # 后端项目djagno写的
-mysql 5.7
-redis 5.x
-python解释器 3.8
-创建虚拟环境
# 前端项目vue # 云服务器上要装的软件
-mysql
-redis
-python3.8
-nginx:代理静态资源
-git:拉取代码
-uwsgi:运行django

nginx可以做请求转发,比如帮助我们监听8080端口。nginx还可以做负载均衡,可以转发给不同的机器。

2 阿里云购买

# 1 有一台服务器:虚拟机,购买一台阿里云的:云服务器,相当于你去电脑城配了一台电脑
# 2 公网ip地址:所有人都可以通过ip地址访问到我
# 3 域名:万网: 域名解析 # 购买机器:(阿里云,腾讯,新用户都很便宜,虚拟机)
-包年包月:公司买,一买买几年
-按量付费:用一会,用完就释放:余额里必须大于100
-抢占式:空跑的资源,偏移卖给你,等有人正常买,空跑的越来越少,就会把抢占式实例释放调
-选择流量付费
-2核4g
-centos 7.9系统
-选公网ip
-自定义密码:root用户和自己写的密码
-确定购买成功 # ssh客户端
-xshell
-finalshell:http://www.hostbuf.com/t/988.html
-Bash命令 # 开启这几个安全组端口
80
8080
3306
6379 # 配置一下服务器,装一些常用的依赖
-yum update -y
-yum -y groupinstall "Development tools" # 装了一堆开发用的工具,git
-yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel

购买:

抢占式实例:如果阿里云机房有空闲,会降价很多。当机房机器越来越少时,会将机器收回,会导致你在此机器的数据销毁。

安装操作系统:

选择硬盘:查看读写速度IOPS

分配公网IP、流量选择:

管理设置:

高级选项:

finallshell新建连接:这里要输入阿里云机器的公网IP。

连接云服务器:

阿里云机器跑了ssh服务在22端口,所以可以通过ssh直接连接。

3 安装git和其他依赖

# 配置一下服务器,装一些常用的依赖

# 方式一:
yum install git -y # 方式二:(推荐)
-yum update -y
-yum -y groupinstall "Development tools" # 包含了git和一些别的开发需要软件 # 源码安装python,redis,需要有别的依赖支持
-yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel

4 云服务器安装mysql


1)前往用户根目录
>: cd ~ # 回到你家路径 /root 2)下载mysql57
>: wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 3)安装mysql57
>: yum -y install mysql57-community-release-el7-10.noarch.rpm
>: yum install mysql-community-server --nogpgcheck 4)启动mysql57并查看启动状态
>: systemctl start mysqld.service
>: systemctl status mysqld.service 5)查看默认密码并登录
>: grep "password" /var/log/mysqld.log
# 密码示例: Hay(:PiB+9NE 4m#5,Rtn8oai
>: mysql -uroot -p 6)修改密码
>: ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
>: ALTER USER 'root'@'localhost' IDENTIFIED BY 'Lqz12345?';

查看密码:

修改密码:需要遵循mysql的安全策略

5 云服务器安装redis(源码安装)

1)前往用户根目录
>: cd ~ 2)下载redis-5.0.5
>: wget http://download.redis.io/releases/redis-5.0.5.tar.gz 3)解压安装包
>: tar -xf redis-5.0.5.tar.gz 4)进入目标文件
>: cd redis-5.0.5 5)编译环境
>: make # 在src路径下会有可执行文件:redis-server redis-cli 6)复制环境到指定路径完成安装
>: cp -r ~/redis-5.0.5 /usr/local/redis 7)配置redis可以后台启动:修改下方内容
>: vim /usr/local/redis/redis.conf daemonize yes 8)完成配置修改
>: esc
>: :wq 9)建立软连接(因为/usr/local/redis/src没有加到环境变量)
# /usr/bin/ 在环境变量中,所有以后直接敲redis-server就能找到了
>: ln -s /usr/local/redis/src/redis-server /usr/bin/redis-server
>: ln -s /usr/local/redis/src/redis-cli /usr/bin/redis-cli 10)后台运行redis
>: cd /usr/local/redis
>: redis-server ./redis.conf & # 查看是否正常在运行:ps aux |grep redis ctrl + c 11)测试redis环境
>: redis-cli
ctrl + c 12)关闭redis服务
>: pkill -f redis -9

查看进程:

启动和关闭redis:

远程连接redis

redis配置文件中不要设置bind 0.0.0.0,这样远程也可以连接,但是很不安全(没有设置密码):

可能的后果:服务器被攻破,挂上挖矿脚本。

6 云服务器安装python3.8(源码安装)

# linux mac 系统服务是用python写的 python2 写的,所以这俩系统中默认自带了python2,不要写在

# 阿里云的centos 自动装了python3.6
# 你的云服务器上有python2 和python3.6 # 自己装python3.8 # centos安装:yum install python 可以快速安装,但是不能指定版本,不能指定安装目录 # 源码安装了
# 可以使用yum 安装,不能指定版本
# 源码安装,下载指定版本的源码,编译安装 # 所有linxu和mac,都自带python2:系统服务,是用python写的
# 阿里云的centos默认装了python3.6
# python2,python3.6 python3.8 ###### 开始安装 ######
###### 源码安装python,依赖一些第三方zlib* libffi-devel#######
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel zlib* libffi-devel -y # 1前往用户根目录
>: cd ~ #2 下载 或 上传 Python3.8.6 服务器终端
wget https://registry.npmmirror.com/-/binary/python/3.8.6/Python-3.8.6.tgz #3 解压安装包
tar -xf Python-3.8.6.tgz #4 进入目标文件
cd Python-3.8.6 #5 配置安装路径:/usr/local/python3
# 把python3.8.6 编译安装到/usr/local/python38路径下
>: ./configure --prefix=/usr/local/python38 #6 编译并安装,如果报错,说明缺依赖
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel zlib* libffi-devel -y
make && make install #7 建立软连接:/usr/local/python38路径不在环境变量,终端命令 python3,pip3
#没有吧/usr/local/python38/bin加入到环境变量
ln -s /usr/local/python38/bin/python3 /usr/bin/python3.8
ln -s /usr/local/python38/bin/pip3 /usr/bin/pip3.8 # 机器上有多个python和pip命令,对应关系如下
python 2.x
python3 3.6 pip3
python3.8 3.8 pip3.8 #8 删除安装包与文件:
>: rm -rf Python-3.8.8
>: rm -rf Python-3.8.8.tar.xz

7 安装uwsgi

# django flask项目上线,需要使用uwsgi部署,性能高,符合wsig协议的web服务器

# 使用uwsgi运行django,不再使用测试阶段的wsgiref来运行django了

# uwsgi是符合wsgi协议的web服务器,使用c写的性能高,上线要使用uwsgi

# 安装步骤
1)在真实环境下安装
pip3.8 install uwsgi
#安装到了python38的安装路径的bin路径下了
2)建立软连接
ln -s /usr/local/python38/bin/uwsgi /usr/bin/uwsgi

8 安装虚拟环境


1)安装依赖
>: pip3.8 install virtualenv
# python3.8 -m pip install --upgrade pip # 升级pip版本
# python3.8 -m pip install --upgrade setuptools #升级setuptools
# pip3.8 install pbr
>: pip3.8 install -U virtualenvwrapper -i https://pypi.douban.com/simple/
>: pip3.8 install virtualenvwrapper 2)建立虚拟环境软连接
>: ln -s /usr/local/python38/bin/virtualenv /usr/bin/virtualenv 3)配置虚拟环境:填入下方内容
# ~/ 表示用户家路径:root用户,就是在/root/.bash_profile
>: vim ~/.bash_profile VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.8 # 执行如下命令
source /usr/local/python38/bin/virtualenvwrapper.sh
# 每次重启都要执行 这样才有workon 等命令 4)退出编辑状态
>: esc 5)保存修改并退出
>: :wq 6)更新配置文件内容
>: source ~/.bash_profile 7)虚拟环境默认根目录:~/.virtualenvs 8) mkvirtualenv -p python3.8 luffy

9 安装nginx(源码安装)

# nginx:软件
-Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 ,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点
-运行在服务器上,监听某个端口,可以向这个服务器发送http请求了 -转发http请求,代理静态文件,负载均衡 # 安装nginx
1)前往用户根目录
>: cd ~ 2)下载nginx1.13.7
>: wget http://nginx.org/download/nginx-1.13.7.tar.gz 3)解压安装包
>: tar -xf nginx-1.13.7.tar.gz 4)进入目标文件
>: cd nginx-1.13.7 5)配置安装路径:/usr/local/nginx
>: ./configure --prefix=/usr/local/nginx 6)编译并安装
>: make && sudo make install 7)建立软连接:终端命令 nginx
>: ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx 8)删除安装包与文件:
>: cd ~
>: rm -rf nginx-1.13.7
>: rm -rf nginx-1.13.7.tar.gz 9)测试Nginx环境,服务器运行nginx,本地访问服务器ip
>: nginx
>: 服务器绑定的域名 或 ip:80 # 访问失败问题解决:
1.先查看nginx服务是否已经启动:
ps aux |grep nginx
2.查看阿里云安全组是否开放80端口。 # 外部访问的是nginx的html文件夹内的index.html
>: cd /usr/local/nginx/html/
>: ls
>: 50x.html index.html

阿里云安全组规则:

nginx:

nginx集群

高并发的情况下,会使用负载均衡服务器f5(硬件、nginx是软件):

更高的并发情况下,会采取DNS负载均衡,访问同一个域名解析到不同的负载均衡服务器上。

nginx有默认配置,自动访问index.html

这个目录下的任意文件都可以直接访问。

10 路飞前端部署

# 把vue的项目编译成纯粹的静态文件,把ajax远程链接的地址改成服务器的地址
settings.js
export default {
BASE_URL:'http://106.14.120.164:8080/api/v1'
} # 编译前端
npm run build # 编译后,打成zip的压缩包,传到云服务器上去
- 在云服务器上安装上传下载的软件
yum install -y lrzsz
rz 选择上传就行 -解压 zip
yum install unzip -y
unzip dist.zip # 修改nginx配置文件,实现代理路飞前端
# 来到nginx安装目录的conf路径下
cd /usr/local/nginx/conf/
# 重命名原有的nginx配置文件为 nginx.conf.bak
mv nginx.conf nginx.conf.bak
# 自己再重写一个nginx.conf
vim nginx.conf
# 在 nginx.conf # 写入如下 # 删除多余的空格和注释
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name 127.0.0.1; # 改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
root /home/html; # html访问路径
index index.html; # html文件名称
try_files $uri $uri/ /index.html; # 解决单页面应用刷新404问题 # vue项目需要添加这一句
}
}
}
# 说明:
修改配置文件之后,访问 127.0.0.1 80端口的根路径时,会去/home/html路径下,拿index.html # 把dist下的所有内容,cp到 /home/html # 注意路径
cp -r dist /home/html # 重启ngixn
nginx -s reload #访问 http://106.14.120.164/ 前端页面

修改settings为云服务器地址(nginx监听):

编译之后的文件:

上传文件:

nginx原配置文件配置:

会访问nginx的html目录下的index.html。

11 路飞后端部署

复制manage.py:

本地navicate连接:

11.0 提交本地代码

# 把配置文件修改
-Debug模式
DEBUG = False
-ALLOWED_HOSTS
ALLOWED_HOSTS = ['*'] 或者 ALLOWED_HOSTS = ['云服务器ip地址']
-修改前后台URL
# 后台基URL
BACKEND_URL = 'http://云服务器ip地址:8080'
# 前台基URL
FRONTEND_URL = 'http://云服务器ip地址'
-数据库地址
正好在 127.0.0.1:3306,不用修改
-redis地址
正好在 127.0.0.1:6379,不用修改 # 跨域解决
# 跨域增加忽略
CORS_ALLOW_CREDENTIALS = True
# 允许所有域
CORS_ORIGIN_ALLOW_ALL = True # 新建一个manage_pro.py,在线上使用这个来迁移数据库
# wsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffy_api.settings.prod') # 生成项目依赖
pip freeze >requirements.txt # 提交到git
git push origin dev # 部署服务器上
mkdir /home/project
cd /home/project
git clone https://gitee.com/liuqingzheng/luffy_api.git
需要输入账号密码 注意:需要在项目目录下新建logs

11.1 配置luffy数据库

1)管理员连接数据库
>: mysql -uroot -p 2)创建数据库
>: create database luffy default charset=utf8; 3)设置权限账号密码:账号密码要与项目中配置的一致
>: grant all privileges on luffy.* to 'luffy'@'%' identified by 'Luffy123?';
>: grant all privileges on luffy.* to 'luffy'@'localhost' identified by 'Luffy123?';
>: flush privileges; 4)退出mysql
>: quit; # 测试远程数据库
本地使用Navicate连接云服务器的mysql
'''注意:阿里云安全组要开放3306端口'''

11.2 安装项目依赖,迁移数据库,

####### 在远端,安装项目依赖###########
进入到虚拟环境,进入到项目路径下,执行
workon luffy # 如果mysqlclient装不上,先把mysqlclient注释
mysqlclient==2.1.1
pip install -r requirements.txt # 解决mysqlclient装不上的问题 这几行代码可能需要重复执行
yum install mysql-devel -y
yum install python-devel -y
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
pip install mysqlclient #### 重点 要在虚拟环境中也安装uwsgi
pip install uwsgi #### 迁移数据库####
python manage_pro.py makemigrations
python manage_pro.py migrate 补充:rz上传文件 ##### 迁移的记录文件,要不要提交到git上######
-官方推荐:提交
-我推荐:如果多人开发,不提交 python manage_pro.py makemigrations
python manage_pro.py migrate # 录入数据,我们由于是测试,把本地的sql导出,导入到远端
我们远程连接了云服务器的数据库,可以运行本地的SQL文件,将数据导入到远端。

本地的sql导出,导入到远端:

迁移记录文件是否提交

#  migrations 中得修改记录要不要提交到git
-官方建议:提交
-我建议:不要提
-改了后,有记录
-服务端:
python manage.py makemigrations
python manage.py migrate -假设:
本地张三在user表增加了一个字段,migrations记录
本地张三在user表增加了一个字段,migrations记录
提到远端,服务端看到两个变更记录
服务端只需要执行python manage.py migrate -我的建议:
本地张三在user表增加了一个字段,migrations记录
本地张三在user表增加了一个字段,migrations记录
不提到远端,服务端没有变更记录
服务端只需要执行
python manage.py makemigrations 只生成一条
python manage.py migrate

11.3 使用uwsgi启动django

# 运行django(个人经验,先用wsgiref运行起来,再用uwsgi跑)
-原来测试阶段,使用wsgiref运行
-跑起来,访问测试一下,你们可能访问不到
-原因是:安全组开启 8888和8080端口
-最后期:只留22,3306,6379,80,8080
-上线使用uwsgi # 使用uwsgi步骤
-写一个uwsgi的配置文件(ini,【xml】)
vim luffyapi.xml
<uwsgi>
<socket>127.0.0.1:8888</socket> <!-- 内部端口,自定义 -->
<chdir>/home/project/luffy_api/</chdir> <!-- 项目路径 -->
<module>luffy_api.wsgi</module> <!-- luffyapi为wsgi.py所在目录名-->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi> # 使用uwsgi启动djagno
uwsgi -x ./luffyapi.xml
ps aux |grep uwsgi # 看到有四个进程说明没问题 # 现在访问8888,没有响应
-uWSGI:配置文件是socket,说明它只能监听 uwsgi协议,浏览器发出去的是http协议,它不能响应
-只能http请求发送到nginx上,使用nginx把http请求,转发到uwsgi,nginx支持把http协议转成uwsgi # 修改nginx 配置文件,完成对http请求的转发
cd /usr/local/nginx/conf/ server {
listen 8080;
server_name 127.0.0.1;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8888;
uwsgi_param UWSGI_SCRIPT luffy_api.wsgi;
uwsgi_param UWSGI_CHDIR /home/project/luffy_api/;
}
} # 重启nginx
nginx -s reload # 访问前端,查看

uwsgi的配置文件路径(manage.py同级):

修改nginx配置:

问题解决:

阿里云安全组默认8080、3306端口可以进来。

12 路飞后台管理样式处理

# 后台管理
-访问地址是:http://106.14.120.164:8080/admin
-发现样式没有 # uwsgi为了提高性能,只负责处理动态请求,静态资源不管
-wgisref 既能访问静态资源,又能访问动态 测试阶段
-上线后,uwsgi为了提高性能,只处理动态请求【动静分离】
-静态资源,需要使用nginx代理 # 使用步骤
1 第一步:收集静态资源
-simpleui的静态资源
-drf的静态资源
-前后端混合项目,你项目的静态资源
- 2 创建文件夹
mkdir /home/project/luffy_api/luffy_api/static 3 修改配置文件 prod.py
STATIC_URL = '/static/'
STATIC_ROOT = '/home/project/luffy_api/luffy_api/static'
STATIC_ROOT = '/home/project/video_site_server/luffy_server/static'
# STATICFILES_DIRS = (os.path.join(BASE_DIR, "static"),) 4 执行这个命令,就会把静态文件收集到STATIC_ROOT对应的文件夹下
python manage_prod.py collectstatic 5 修改nginx配置文件
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name 127.0.0.1; # 改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
root /home/html; # html访问路径
index index.html; # html文件名称
try_files $uri $uri/ /index.html; # 解决单页面应用刷新404问题
}
}
server {
listen 8000;
server_name 127.0.0.1; # 改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8808; # 端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT luffyapi.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /home/project/luffyapi/; # 项目路径
}
# 新增的配置静态文件
location /static {
alias /home/project/video_site_server/luffy_server/static;
}
}
} #6 重启nginx
nginx -s reload # 访问:80端口是前端 http://106.14.120.164/ # 访问 8080后端 http://106.14.120.164:8080/admin # 以后使用
python manag_pro.py runserver 0.0.0.0:8888 运行不了了

13 域名转发

# 域名转发
-购买域名---》备案----》域名解析配置
# 以后访问域名即可

将域名的地址改为云服务器的地址:

【django-vue】 项目上线 uuid重复问题 内网穿透 支付宝验签 nginx集群 远程连接redis 使用uwsgi启动django的更多相关文章

  1. 内网环境上部署k8s+docker集群:集群ftp的yum源配置

    接触docker已经有一年了,想把做的时候的一些知识分享给大家. 因为公司机房是内网环境无法连接外网,所以这里所有的部署都是基于内网环境进行的. 首先,需要通过ftp服务制作本地的yum源,可以从ht ...

  2. 虚拟机系统ubuntu12.04(内网环境下的虚拟主机)开启远程连接访问

    一.工具准备: 1.内网虚拟机Ubuntu12.04系统主机一台,开放端口为:29999 2.远程连接软件:mobaxterm 二.开启步骤: 1.查看端口状态信息: netstat -antl | ...

  3. Vue项目上线后刷新报错404问题(apache,nginx,tomcat)

    转自:https://www.cnblogs.com/sxshaolong/p/10219527.html 很简单,需要 服务器端 加个配置文件,然后 重启服务就好了,记住一定要 重启服务,否则无效!

  4. 【新晋开源项目】内网穿透神器[中微子代理] 加入 Dromara 开源社区

    1.关于作者 dromara开源组织成员,dromara/neutrino-proxy项目作者 名称:傲世孤尘.雨韵诗泽 名言: 扎根土壤,心向太阳.积蓄能量,绽放微光. 拘浊酒邀明月,借赤日暖苍穹. ...

  5. 如何使用natapp来实现内网穿透及案例

    1. 业务场景 当我们的项目是部署在本地的时候,如何让其他用户(不在同一个局域网之下)来进行调用呢?这时我们就可以使用内网穿透将自己的IP通过映射成相应的地址,然后再通过映射后的地址来进行访问本地的项 ...

  6. nginx + uwsgi 部署 Django+Vue项目

    nginx + uwsgi 部署 Django+Vue项目 windows 本地 DNS 解析 文件路径 C:\Windows\System32\drivers\etc 单机本地测试运行方式,调用dj ...

  7. 内网穿透访问Vue项目的时候出现Invalid Host header解决办法

    适用场景: 在本地的Vue-cli3项目, 需要其他人浏览. 如果没有外网的服务器, 可以把自己的电脑当做服务器. 这时候需要外网的人能访问到自己的电脑. Mac内网穿透工具:natapp Inval ...

  8. nginx+uwsgi启动Django项目

    1.安装项目环境 系统环境:ubuntu16.04 python环境:python3.5.2 Django版本:django1.11.7 nginx环境:nginx_1.10.3 虚拟环境:virtu ...

  9. windows(Linux)创建”内网穿透“工具(通过自定义域名访问部署于内网的 web 服务,可以用于调试微信支付,支付宝支付,微信公众号等开发项目)

    此方法需要自有服务器和域名,如果没有这些的开发者, 可以参考钉钉提供的内网穿透方式:https://www.cnblogs.com/pxblog/p/13862376.html 一.准备工作 1.域名 ...

  10. 聊聊第一个开源项目(内网穿透) - CProxy

    文章首发:聊聊第一个开源项目 - CProxy 作者:会玩code 初衷 最近在学C++,想写个项目练练手.对网络比较感兴趣,之前使用过ngrok(GO版本的内网穿透项目),看了部分源码,想把自己的一 ...

随机推荐

  1. 微信小程序记住密码,让登录解放双手

    密码是用户最重要的数据,也是系统最需要保护的数据,我们在登录的时候需要用账号密码请求登录接口,如果用户勾选记住密码,那么下一次登录时,我们需要将账号密码回填到输入框,用户可以直接登录系统.我们分别对这 ...

  2. Modbus转PROFINET网关 TS-180

    TS-180实现 PROFINET 网络与串口网络之间的数据通信.三串口可分别连接具有 RS232 或 RS485 接口的设备到PROFINET 网络,三串口相同,全为 RS232 或RS485.即将 ...

  3. 一文带你掌握C语言的循环结构

    C语言循环结构详解 在C语言中,循环结构是一种重要的控制结构,它允许我们重复执行一段代码,以达到特定的目的.循环结构可以帮助我们简化重复性的任务,提高代码的效率.本篇文章将深入探讨C语言中的循环结构, ...

  4. 火山引擎DataTester升级MAB功能,助力企业营销决策

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataTester,火山引擎推出的 AB 测试与智能优化平台,近日宣布对其 MAB(Multi-armed Ba ...

  5. DataGridView合并单元格,重绘后选中内容被覆盖的解决办法

    DataGridView合并单元格只能进行重绘,网上基本上使用的是下面的方法: 1 /// <summary> 2 /// 说明:纵向合并单元格 3 /// 参数:dgv DataGrid ...

  6. [USACO2007FEB S] The Cow Lexicon S

    题目描述 Few know that the cows have their own dictionary with W (1 ≤ W ≤ 600) words, each containing no ...

  7. Mybatis-Flex之基础搭建

    1.是什么? MyBatis-Flex 是一个优雅的 MyBatis 增强框架,它非常轻量.同时拥有极高的性能与灵活性.我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的Query ...

  8. .NET周刊【12月第2期 2023-12-13】

    国内文章 用最清爽的方式开发dotNet https://www.cnblogs.com/ncellit/p/17881779.html 本文介绍了如何以清爽的方式开发dotNet应用,特别是简单的A ...

  9. 文件不落地上线sliver

    接着二开sliver,给他添加一个生成powershell payload上线的功能,生成并复制到剪切板. ‍ 准备 首先,先开启监听,不多说直接mtls默认的就行,sliver可以生成配置文件来实现 ...

  10. 部署堡垒机3——编译安装redis-6.2.1以上版本

      一.环境准备 Redis官网:https://redis.io/download/ 历史版本:http://download.redis.io/releases/ 1.安装依赖 yum -y in ...