day90:luffy:路飞项目前端部署
目录
1.域名备案
腾讯云先要进行域名实名认证,实名认证三天后才可以进行域名备案。。。
2.域名解析
后端:api.libolun.design
3.设置安全组
如图所示,设置3306 6379 8080等端口
4.部署架构图
为什么前端要使用nginx,而不是直接使用npm run dev呢?
答:因为npm run dev使用的是内置的socket运行起来的项目,并不能实现并发的效果,而nginx做并发是非常好的
5.一些准备工作
1.将前端项目打包
1.将项目打包并上传到码云上
cd luffy/lycity
npm run build
git add .
git commit -m 'finished 1.0'
git push origin master
注意:上传码云时,要将.gitignore中的/dist/删除掉,让/dist/能够上传到码云上
2.准备工作
1.更新ubuntu的apt源索引
sudo apt-get update
2.安装包允许apt通过HTTPS使用仓库
sudo dpkg --configure -a
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
3.添加Docker官方GPG key【这个是国外服务器地址,所以网路不好的时候,会失败!在网路好的情况下,多执行几次就没问题了】
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4.设置Docker稳定版仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
5.添加仓库后,更新apt源索引
sudo apt-get update
6.前面的准备工作完成以后,接下来安装最新版Docker CE(社区版)
sudo apt-get install docker-ce
7.检查Docker CE是否安装正确
sudo docker run hello-world
3.两个bug
1.docker version 出现denied 问题
sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名,例如我的,liangll
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker
2.解决docker pull nginx 下载速度慢问题
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://gziwmbaz.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
6.docker
1.通用命令
docker version # 查看docker版本
# 启动docker
sudo service docker start # 停止docker
sudo service docker stop # 重启docker
sudo service docker restart
2.镜像操作[image]
1.列出所有镜像
docker image ls
# 上面的命令时省略了 --all
docker image ls --all
2.拉取镜像
如果不指定版本号,默认拉取最新版本的镜像
docker image pull <镜像名称:版本号>
3.删除镜像
删除的时候,必须注意是否有容器在运行当前镜像文件,如果在使用,则需要先删除容器,才能删除镜像
docker image rm <镜像名称/镜像ID>
4.将docker中的镜像打包成文件
用于分享发送给他人,或备份
docker save -o <文件名.tar.gz> <镜像名>
5.将镜像文件加载到docker中
docker load -i <文件名.tar>
3.容器操作[container]
1.创建容器
必须先有镜像,才能运行创建容器,需要指定使用的镜像名,并且设置创建容器以后,执行对应的第一条命令
docker run <参数选项> <镜像名称> <命令>
例如:使用"hello-world"镜像,创建一个容器,但没有进行任何操作
docker run hello-world
例如:使用ubuntu镜像,名字为ubuntu1
docker pull ubuntu:18.04 # 拉取ubuntu18.04镜像
docker run -it --name=ubuntu1 ubuntu:18.04 bash
注意:必须启动的时候,让容器运行bash解析器,才能在接下来的操作让容器不会立刻关闭,而且也能够让我们可以输入linux终端命令,.
如果我们一般创建一个容器不需要进入到这个容器里面,参数选项都是: -itd
2.docker run的参数选项
-t 表示容器启动后会进入其命令行终端
-i 表示以“交互模式”运行容器
-d 创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)
3.列出所有容器
docker container ls # 所有正在启动运行的容器 docker container ls --all # 所有容器[不管是否在启动运行中]
4.启动容器
可以同时启动多个容器,容器之间使用空格隔开
# 启动一个容器
docker container start <容器名称/容器ID> # 启动多个容器
docker container start <容器名称/容器ID> <容器名称/容器ID> <容器名称/容器ID>
5.停止容器
docker container stop <容器名称/容器ID>
6.杀死容器
在容器无法停止的时使用
docker container kill <容器名称/容器ID>
7.进入容器
要进入容器,必须当前容器是启动状态的
docker container exec -it <容器名称/容器ID> <第一个命令>
8.删除容器
docker container rm <容器名称/容器ID>
9.将容器保存成镜像
docker commit <容器名称/容器ID> <新镜像名>
10.扩展
使用docker命令需要管理员权限,如果希望每次输入docker相关命令时,不用sudo,可通过以下命令进行设置
sudo usermod -a -G docker $USER
sudo service docker restart
newgrp - docker
7.把前端项目通过nginx容器来运行
1.将代码克隆到服务器本机上(49.232.222.17)
git clone https://gitee.com/li_bolun/ly31.git
2.在docker中下载nginx镜像,创建nginx容器,并进入nginx容器
# 1.在docker中下载nginx镜像
docker image pull nginx # 2.创建nginx容器
docker run -itd -p 80:80 -v /home/luffy/lycity/dist:/usr/share/nginx/html --name=lycity lycity # 3.进入到nginx容器
docker container exec -it lycity bash
3.在nginx容器上装一些插件
apt-get update
apt-get install procps
apt-get install vim
4.如果下载速度慢,可以更改一下下载源
阿里的镜像:https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.1d7d1b11E18cIb
cp /etc/apt/sources.list /etc/apt/source.list.bak
vim /etc/apt/source.list
5.修改nginx配置文件
root@4058118c62f8:/etc/nginx/conf.d # cat default.conf
server {
listen 80;
server_name 49.232.222.17; # 改成自己的域名或者自己的公网IP #charset koi8-r;
#access_log /var/log/nginx/host.access.log main; location / {
root /usr/share/nginx/html;
index index.html index.htm;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
注意:进入到nginx容器后,别忘了先启动一下nginx服务
nginx # 在容器中直接输入nginx指令就可以启动nginx
day90:luffy:路飞项目前端部署的更多相关文章
- day75:luffy:路飞学城项目后端环境搭建&Git相关知识点
目录 1.Xadmin 1.Xadmin介绍 2.Xadmin安装 3.Xadmin的使用 2.项目环境搭建 1.外部依赖 2.依赖包安装 3.搭建项目 3.Git 4.日志配置 5.异常处理 6.创 ...
- day76:luffy:项目前端环境搭建&轮播图的实现
目录 1.项目前端环境搭建 1.创建项目目录 2.前端初始化全局变量和全局方法 3.跨域CORS 4.axios配置 2.轮播图功能的实现 1.安装依赖模块 2.上传文件相关配置 3.注册home子应 ...
- Linux之项目的部署
前期准备 python3解释器 uwsgi wsgi(web服务网关接口,就是一个实现了python web应用的协议) virtualenvwrapper 路飞的代码 vue的代码 nginx (一 ...
- renren-fast开源项目解析日志—1、项目的部署
renren_fast项目解析日志 一.环境搭建 1.后端部署 (1)下载源码 按照步骤,从码云上down了fast,zip的(引maven项目)项目包. (2)安装lombok插件 安装lombok ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十四):项目打包部署
项目打包部署 安装MySQL镜像 注意:如果使用docker镜像安装MySQL,也需要在前端部署主机安装MySQL,因为备份还原功能是使用MySQL的本地命令进行操作的. 下载镜像 执行以下命令,拉取 ...
- s11 day100路飞项目逻辑购物车一
Luffy项目 先看练习,如下: 一. 添加购物车和查看 1. url url(r'^shoppingcar/$', shoppingcar.ShoppingCarView.as_view({&quo ...
- 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)
概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...
- 路飞项目背景,contentType以及django缓存
昨日回顾: 分页器: 普通分页 # 普通分页 from rest_framework.pagination import PageNumberPagination -每页的大小(默认) -查询的时候, ...
- 前端部署: nginx配置
前提:nginx 已安装 简介:nginx(engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ram ...
随机推荐
- GUI版本的emacs
概要 emacs 配置 X11 配置 输入法配置 spacemacs 中的配置 fcitx 汉字显示方块的问题 总结 优势 劣势 概要 之前一直使用 terminal 版本的 emacs, 性能和显示 ...
- 多测师讲解接口测试__mock___高级讲师肖sir
一.关于Mock测试 1.什么是Mock测试?mock测试,源自于英文单词fake,意为假的测试实际工作中用于模拟那些无法实时连接的后端,或是没有开发出来的后端,用于获得结果反馈的一种测试方式.通过发 ...
- 2020年java全套教程,此套java涵盖了pdf,java源码,项目案例,完整视频约3000G的资源
疫情期间,百无聊赖,是不是需要充电一下,让自己更有竞争力呢?学习java一定要快呦! 废话不多说了,网盘已经爆炸了,把2006年-2020年的全部资料都发给爱学习的你吧, 希望可以改变你的命运,或者是 ...
- 串口wifi
串口wifi 串口WiFi ZLAN7146是一款wifi转串口的wifi串口服务器.该串口服务器可以方便地使得串口设备连接到WIFI无线网络,实现串口设备的无线化网络升级.RS232接口支持全双工. ...
- 第十六章 IP子网的划分
一.引入 1.根据IP地址的类别进行IP地址分配的方法表现出越来越多的弊端 2.为了解决分类IP地址划分带来的地址浪费,就需要使用子网划分(Subnetting)的方法 3.VLSM和CIDR可以进一 ...
- Dubbo系列之 (七)网络层那些事(2)
辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订 ...
- zabbix自定义脚本监控服务器端口状态
zabbix可以通过客户端的[net.tcp.port[<ip>,port]]该item监控项来判断本地/远程服务器TCP端口是否正常,不过当时没有想起来,就用了自定义脚本去写的,很久没有 ...
- Python语言应用解析,如何入门学Python?
Python在机器学习人工智能领域非常流行,可以说是算法工程师的标配编程语言.Python语言广泛应用在web开发.大数据开发.人工智能开发.机器学习.后端开发等领域之中,近几年Python语言的趋势 ...
- centos7安装oracle版本的jdk
Hadoop机器上的JDK,最好是Oracle的Java JDK,不然会有一些问题,比如可能没有JPS命令. 如果安装了其他版本的JDK,卸载掉!!! 1,查看是否已经安装了jdk java -ver ...
- 跟我一起学.NetCore之MediatR好像有点火
前言 随着微服务的流行,而DDD(领域驱动设计)也光速般兴起,CRQS(Command Query Responsibility Seperation--命令查询职责分离).领域事件名词是不是经常在耳 ...