使用systemd来构建你的服务

systemd是什么

Systemd 服务是一种以 .service 结尾的单元(unit)配置文件,用于控制由Systemd 控制或监视的进程。简单说,用于后台以守护精灵(daemon)的形式运行程序。

为什么要使用systemd

  1. service文件编写简单易用

使用公钥登录Linux

服务器密码往往是随机字符串,难以记忆,通过配置公钥登录的方式来进行登录。

准备

  • 服务器A 192.168.1.2 客户机

安装nodejs的shell脚本

脚本定义

1
2
3
4
5
#!/bin/bash
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
git clone https://github.com/creationix/nvm.git ~/.nvm
source ~/.nvm/nvm.sh
nvm install 4.4.2

脚本执行

1
2
chmod +x ./install.sh
./install.sh

nodejs版本大家可以 根据实际需要进行选择

lnmp一键安装memcached的shell脚本

通过LNMP安装脚本安装的PHP环境默认是不带Memcached支持的(是memcached不是memcache),百度一下memcached的安装方法,发现基本都是memcache的,其实这是两个不同的东西。

而memcached是pecl的项目,所以需要到pecl网站上去下载最新的memcached安装包。

为了方便多台服务器的安装,本人整理成了一个sh脚本进行安装,当然,php-config路径和phpize路径需要改下(如果使用LNMP脚本安装的话则不用改)

linux运行dos格式脚本导致的bad interpreter

问题

在使用php作为linux上shell脚本运行时出现了以下错误:

1
2
3
#!/usr/bin/env php
<?php
phpinfo();
1
2
3
chmod +x test.php
./test.php
/usr/local/php/bin/php^M: bad interpreter: No such file or directory

linux检查端口占用

Linux启动服务时如果遇到端口占用问题时,一般有以下两种解决方案:

  1. 新启动的服务更改端口号启动

linux利用ssh公钥部署git代码

背景

阿里云的使用门槛降低,直接导致了很多人优先使用VPS而不是以前的虚拟主机,毕竟虚拟主机存在诸多限制。阿里云犹如一台全新的服务器,所有软件都要自己安装。作为一个写PHP的,代码部署就略麻烦了,以前使用FTP的时候很方便部署,但是不适合长期开发(因为没有版本控制),所以使用GIT会很方便。

问题

在windows开发机上使用https方式进行git操作是没问题的,但是在linux上进行git操作的时候就会出错误,会让你输入帐号密码,就算是对的帐号密码也不行。这种情况下需要使用 ssh 方式进行GIT。

解决方法

Linux删除乱码文件

shell终端中有时候中文文件名会出现乱码,导致很多操作都不能进行,一个最简单的就是删除了。

linux中每个文件有类似于ID的东西,使用以下命令查看

1
ll -i
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×