Ubuntu通过gitolite快速部署git server并开启master分支网站代码自动部署

安装git和gitolite

首先,通过下面的命令安装git和gitolite

添加git用户组

配置密钥

接下来在本地机器生成ssh密钥,使用下面的命令

当然,如果你想为你的gitolite分配单独的密钥,可以使用下面的命令(生成名为git-admin的密钥)

如果你使用了单独分配的密钥,你需要配置你的git在连接指定域名时使用不同的密钥,比如我们这里gitolite的管理域名是 admin.xxx.com 。我们在刚才的.ssh文件夹新建 config 文件(没有扩展名),内容如下

这样就可以在连接admin.xxx.com的时候使用git-admin这组密钥了

初始化gitolite

下一步,将你的ssh公钥上传到服务器的某个位置,比如 /tmp/git-admin.pub

然后切换到git用户,使用这个公钥初始化gitolite

然后在持有私钥的机器管理gitolite即可,下面是clone命令,注意修改ip地址

关于gitolite的官方文档在这里:http://gitolite.com/gitolite/gitolite.html

自动部署

然后关于配置自动部署,首先我需要部署的网站目录权限为 www-data:www-data

我把git用户添加到了www-data组中,通过后面权限设置为770保证网站和git都有足够的权限操作文件。使用下面的命令

然后网站目录,比如创建 /home/nginx/xxx ,我们要把这个目录的用户组改成www-data并给予770权限,这样以后我们的git用户才能操作

然后我们切换到git用户,在 /home/nginx/xxx 目录克隆本地库,使用下面的命令。注意clone后面最后有一个参数 .

这样网站目录就初始化完成了,我们继续下面的操作(还是git用户的身份)

钩子文件创建在项目库的hooks文件夹 ~/repositories/xxx.git/hooks ,新建 post-receive 文件,复制粘贴下面的内容,最后别忘了给予本脚本执行权限。就可以退出git用户身份了

解释一下:

首先我们循环读取所有push的请求,当发现是push到master(也就是我们的部署分支)时,触发部署脚本,首先要清楚GIT_DIR环境变量,这样才能切换工作目录。然后我们切换到nginx的网站目录,使用 git add -A && git fetch origin && git reset --hard origin/master 强制清除本地变化并更新到远程master分支。如果有网站自动生成的文件(比如用户上传的附件目录)不想被清空的,别忘了要写在 .gitignore 文件里。当然网站生成的文件请确保权限在770以上,否则可能会导致git无权操作。在更新完远程master分支的代码后,更新文件权限为770,并将所有者改成www-data组(chmod使用末尾的*可以确保不会修改网站目录下.git这个隐藏目录内部的权限,同时-f用来屏蔽错误信息)

 

在编写本篇文章的时候感谢下面这位非常热心的博主解答我好多问题
https://argcv.com/articles/2078.c

Ubuntu 配置Node.js+Nginx+PHP+MySQL最新版本

配置环境

nginx.conf配置

默认服务器,ip返回403配置

fastcgi_params限制PHP脚本执行目录

纯静态配置

PHP一般通用配置

开启fix_pathinfo(一般默认已开启)

PHP通用框架配置

SSL+HTTP2的PHP框架配置

 

Linux编译安装PHP7

下载PHP7

这里是版本7.0.1,使用下面命令下载编译包然后解压

安装必要的环境

配置

其中可以增加 --with-mysql-sock=[dir] 来设置mysql的sock文件的位置,默认是/tmp/mysql.sock

--prefix 是你要安装的位置

编译和安装

设置配置文件,还是刚才编译的目录中,执行

其中 /usr/local/php-7.0.1/ 是你的安装位置,请替换成你自己的

添加服务并启动

环境变量

修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码

在Debian下部署LAMP和wordpress,适合新手教程

LAMP 是Linux、Apache、MySQL、PHP的首字母缩写,也就是在一台Linux服务器上安装带有PHP和Mysql支持的Apache网站服务器。

一、安装基本的编译环境

二、安装MySQL

这个过程中,你将会有机会设置MySQL的root用户的密码。

三、安装Apache

这种方式安装完的Apache,其web根目录在 /var/www , Apache 以 www-data 的身份运行。你可以尝试着访问 http://127.0.0.1 ,已经可以访问了。

四、安装PHP

五、安装MySQL的管理工具

phpmyadmin配置文件在/etc/phpmyadmin目录。

在apache下安装phpmyadmin,你仅需要在/etc/apache2/apache2.conf中加入以下这行:

现在重新启动 Apache:

现在环境已经配置完成,我们来安装wordpress。

一、登录mysql

二、创建数据库

三、给新创建的数据库制定一个用户名:username和密码123456

四、重新启动 MySQL

下一步创建虚拟站点

一、建立站点目录

二、增加虚拟站点配置

添加内容如下:

四、激活这个虚拟站点

(停用站点请使用a2dissite)

五、apache2重新加载配置

六、启动rewrite

七、重启Apache

接下来我们安装wordpress,安装完成后修改777或755权限

接下来访问网站进行wordpress安装即可