服务器的搭建及配置

news/2025/2/19 8:39:42/

记录一下服务器的搭建及配置

  • 部署服务器
  • 安装Git并部署自动发布
        • 添加post-receive钩子
      • 结语

准备搭建一个Laravel框架的项目,就记录一下从新的服务器一步一步搭建的步骤,方便下来查看。

部署服务器

登录服务器

#ssh root@服务器的IP

在这因为之前我通过公钥方式绑定过服务器,初始化服务器之后需要把对应的登录信息删除掉才可以
错误信息:
错误信息
解决方式
1.在客户端执行指令: #vi ~/.ssh/known_hosts
2.把与所要连接IP(例如:10.10.10.10)相关的内容删掉。

下载并安装LNMP一键安装包

我使用的方法是LNMP一键安装包
官网地址:https://lnmp.org/

#wget http://soft.vpser.net/lnmp/lnmp1.7-full.tar.gz

下载完成后进行解压

# tar -zxvf lnmp1.7-full.tar.gz 

解压完成之后进入对应的目录

# cd lnmp1.7-full/

执行安装命令

# ./install.sh

选择对应软件的版本,并进行安装
选择数据库版本,示例
安装完成
安装完成

安装Git并部署自动发布

下载并安装Git

# yum -y install git

查看Git版本信息

# git --version

安装完成
安装完成
创建Git用户

# adduser git

创建git用户的目录

# mkdir -p /home/git/.ssh

进入git用户目录,并创建authorized_keys

# touch authorized_keys

将Git目录权限赋值给git用户

# cd /home
# chown -R git.git git/

需要将authorized_keys文件赋予600权限,不然免密提交的时候会报错

# chmod 600 /home/git/.ssh/authorized_keys

初始化Git仓库

建议将版本仓库创建在比较相对独立并统一维护的目录,我这里创建在了git目录下

# cd /home/git/
# git init --bare project.git

由于目前使用的用户是root用户,所以需要将目录权限改成刚才创建的git用户下
# chown -R git.git project.git

创建项目目录

因为已经有了仓库,直接进行克隆就可以

# cd /home/wwwroot/
# git clone /home/git/project.git

因为需要完成自动上传代码,所以需要将项目目录的权限修改成git用户权限
# chown -R git.git project/

克隆仓库到本地【在本地机器上运行】

# git clone git@10.10.10.10:/home/git/project.git

因为已经将本地公钥添加到线上服务器上,所以不用输入密码,即可进行克隆

测试Git文件上传

// 进入项目目录
# cd project
// 创建测试文件
# touch Test.md
# git add Test.md
# git commit -m 'TEST'
// 推送
# git push

目前到此则是Git搭建成功了,下一步,需要设置post-receive钩子,这样在push推送成功之后,服务器会自动运行设置的操作,进行线上代码自动更新

添加post-receive钩子

// 在服务器上,打开仓库中的hooks文件夹
# cd /home/git/project.git/hooks
// 生成 post-receive 文件
# touch post-receive
// 编辑 post-receive 文件
# vim post-receive

在post-receive文件中复制下面命令

#!/bin/sh
# 我的项目是/home/wwwroot/project/
cd /home/wwwroot/project/
unset GIT_DIR   
git config --list
git pull origin master

保存退出后,将post-receive文件权限改成git用户权限

# chown -R git.git post-receive

给post-recrive文件添加上运行权限

# chmod +x post-receive

完成,可以在本地修改Test.md文件,在进行上传,看看服务器上是否自动同步了~~~

结语

第一次整理了这么详细的操作步骤,如果有什么错误的地方,谢谢大家指正


http://www.ppmy.cn/news/587225.html

相关文章

搭建服务器

一、服务器搭建 服务器可以分为网络服务器和本地服务器两种类型,各有优势,网络服务器不需要硬件设计,访问便捷;本地服务器在数据安全上更具优势。 (1)本地服务器搭建 参考链接:如何搭建一个自…

服务器的搭建

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

第一章 基本架设服务器流程

虽然不同的服务器提供的服务并不相同,而且每种服务的原理也不见得都一样,不过 ,每种服务器由规划、架设到后续的安全维护, 其实整个流程是大同小异的。什么?你不相信啊?为了让你相信,那我们就来…

MapBox 实现自定义地图样式配置(包含本地静态引入)

Mapbox 官方提供了非常多的样式的底图,但是有的时候我们想要自己定义地图的样式基调,比如我们想看到这种样式的地图: 这就需要我们要有自己配置地图的能力了。 那么接下来我们说说怎么做。 首先我们还是登录 mapbox 的官网,找到样式配置的页面,这里直接给大家链接: A…

Debezium系列之:获取Oracle JDBC驱动程序和XStream API文件

Debezium系列之:获取Oracle JDBC驱动程序和XStream API文件 一、背景二、详细步骤1.下载Oracle Client包2.解压缩3.复制ojdbc8.jar和xstreams.jar文件4.创建环境变量 三、XStream 连接器属性 一、背景 Debezium Oracle 连接器需要 Oracle JDBC 驱动程序 (ojdbc8.jar…

bean的实例化和初始化

Instantiation:表示实例化,对象还未生成 Initialization:表示初始化,对象已经生成 InstantiationAwareBeanPostProcessor继承自BeanPostProcessor,它内部提供了3个方法,再加上BeanPostProcessor接口内部的2个方法,所…

解决word中的Mathtype选项卡消失的一个方法

可以看到选项卡中没有mathtype 但是我确实安装了mathtype 点击word-文件-选项-加载项 看一下mathtype是否在最后一栏“禁用的应用程序加载项”里 如果在里面 查看mathtype的类型 我这里是“模板” 如图,点击“管理”,勾选“模板”,再点击…

word的工具栏消失怎么办

突然之间word的工具栏就不见了,点开功能项又出来了,但是一要编辑文本就又不见了,网上试了很多方法,有删除一些文件之类的方法,都没有用。最后使用了最简单的CtrlF1一下就出来了,而且点击文本也不再消失。