借助 Git 部署 Laravel 上线关键点

ssh协议
用于计算机之前的加密登录
远程登录服务器ssh root@8.8.8.8 然后输入对端服务器的root密码
ssh的默认端口是22,也就是说,登录请求会送进远程主机的22端口。使用p参数可以修改这个端口
$ ssh -p 2222 user@host表示ssh直接链接远程主机的2222端口

镜像
查看composer镜像配置 subl ~/.composer/config.json

subl命令
在subl后紧跟一个文件名表示编辑该文件
在subl后跟--开头的命令,则执行该命令
~开头的文件
单独使用或者在其后跟一个斜线/,代表了当前用户的宿主目录。
~后跟一个单词~word,其代表由这个word所指定的用户的宿主目录。

npm run命令用来自动构建js
npm会在项目的package.json文件中寻找scrpits区域,其中包括npm test和npm run来运行scripts里的任何条目
使用npm run的方便之处在于,npm会自动把node_modules/.bin加入¥path,这样可以直接运行依赖程序和开发依赖程序,不用全局安装了。只要npm上提供命令行接口,就可以直接使用他们。
项目中的webpack.mix.js用来编译app.js和spp.scss,所以运行npm run prod后可以看到这两个文件

blade
Blade 是 laravel 提供的一个简单强大的模板引擎。它不像其他流行的 PHP 模板引擎那样限制你在视图中使用原生的 PHP 代码,事实上它就是把 Blade 视图编译成原生的 PHP 代码并缓存起来。缓存会在 Blade 视图改变时而改变,这意味着 Blade 并没有给你的应用添加编译的负担。Blade 视图文件使用 .blade.php 后缀,一般情况下都被存储在 resources/views 目录。

scp命令
secure copy,是linux系统下基于ssh登录进行安全的远程文件拷贝命令
命令格式scp[参数][原路径][目标路径]
命令参数:

-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩
-p 保留原文件修改时间,访问时间和访问权限
-q 不显示传输进度条
-r 递归复制整个目录
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试链接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh
-F ssh_config指定一个替代的ssh配置文件,此参数直接传递给ssh
-i identity_file 从指定文件中读取传输时使用的秘钥文件,此参数直接传递给ssh
-l limit 限定用户所能使用的带宽,以Kbit/s为单位
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式
-P port 是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。此程序必须能后理解ssh(1)的选项。

上传项目到服务器

1.创建仓库
git init
仓库初始化后会在项目录下生成.git目录
git status 用来查看仓库状态
git diff比较的是最后一次git add的内容(old版本)和再次进行git add之前内容(new版本)的比较

仓库建立后会在项目中生成.gitattributes文件和.gitignore文件
.gitignore 用于忽略你不想提交到Git上的文件
.gitattribute 指定非文本文件的对比合并方式

2.加入到仓库(此时还未提交)
git add -A

3.提交到服务器(git commit)
git commit -am'initial commit'

4.打包上传项目(scp)
此处要回到www目录
zip -r jucheshe.com.zip jucheshe.com/
scpr blog.zip root@hk001:/data/www/

5.服务器端解压(unzip)
unzip blog.zip

6.给项目文件夹权限(sudo chmod -R)
sudo chmod -R 777 blog

7.添加改动日志(git status)
命令行输入
git commit -m "我改动了一下xx"
或者shif+ctrl+p输入git status
按C进入日志编写
我改动了一下xx

从服务器下载项目到本地
1.克隆服务器项目到本地(git clone)
git clone ssh://root@hk001/data/www/blog
服务器端 git config core.filemode false 用来忽略文件权限修改造成的modified
此时git status 的状态为clean

2.本地上传到服务器(git push命令)
git push命令用于将本地分支的更新,推送到远程主机
git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果master不存在,则会被新建。

本作品采用《CC 协议》,转载必须注明作者和本文链接
jianng
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!