ubuntu安装lamp环境:
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server
如果同时安装nginx和apache2就是导致80端口冲突,无法同时使用,这样就需要修改nginx或者apache2端口。
vi /etc/apach2/apache2.conf
/etc/init.d/apache2 restart
安装php:
sudo apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
安装nginx:
sudo apt-get install nginx
/etc/init.d/nginx start
update-rc.d nginx default
修改php.ini
/etc/php5/cgi/php.ini
cgi.fix_pathinfo = 1
location ~ \.php$ {
root /data/php/;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_param SCRPIT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
linux常用命令:
linux端口号查询
lsof -i :8080
netstat -apn |grep 8080
grep命令总结
grep [options]
-c: 只输出匹配的级数
-I: 不区分大小写(只适用与单字符)
-h: 查询多文件时不显示文件名
-l: 查询多文件时只输出包含匹配字符串的文件名
-n: 显示匹配行及行号
-s: 不显示不存在活无匹配的错误信息
-v: 显示不包含匹配文本的所有行
-r: 明确邀请搜索子目录
-d: 忽略子目录
find命令使用
find [path] [file]
eg: find /data *redis.php
find /data -name *redis.php -type f
cut命令使用
head /etc/passwd |cut -d: -f2
head /etc/passwd |awk -F ":" '{print $2}'
netstat命令使用
netstat [options]
-t : tcp
-u : udp
-w : raw
-l : listening
-a : all
-n : numberic
-p : program
-i : interface
-s : statistics
netstat -apn |grep 8080
sort命令使用
sort [option] [file]
-n: 使用数字排序
-t: 设置分隔符
-k: 设置排序字段
-r: 使用逆序
shell if命令总结
[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断是否存在并且具有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等
-r file 用户可读为真
-e file 文件存在
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
-ne —比较两个参数是否不相等
-lt —参数1是否小于参数2
-le —参数1是否小于等于参数2
-gt —参数1是否大于参数2
-ge —参数1是否大于等于参数2
-f — 检查某文件是否存在(例如,if [ -f "filename" ])
-d — 检查目录是否存在
-z - 字符串为null,即长度为0
eg:
#!/bin/sh
YACCESS=`date -d yesterday +%Y%m%d`
FILE="access_$YACCESS.log.tgz"
cd /data/nginx/logs
if [ -f "$FILE" ];then
echo "OK"
else
echo "error $FILE" > error.log
mail -s "$FILE backup fail" xxxx@yyyy.com <error.log
fi