nginx、php-fpm、mysql用户权限解析

http://www.cnblogs.com/zrp2013/p/4183546.html

三者之间的关系

nginx本身不能处理PHP,它只是个web服务器。当接收到客户端请求后,如果是php请求,则转发给php解释器处理,并把结果返回给客户端。如果是静态页面的话,nginx自身处理,然后把结果返回给客户端。 Nginx下php解释器使用最多的就是fastcgi。一般情况nginx把php请求转发给fastcgi管理进程处理,fastcgi管理进程选择cgi子进程进行处理,然后把处理结果返回给nginx。 在这个过程中就牵涉到两个用户,一个是nginx运行的用户,一个是php-fpm运行的用户。如果访问的是一个静态文件的话,则只需要nginx运行的用户对文件具有读权限或者读写权限。 而如果访问的是一个php文件的话,则首先需要nginx运行的用户对文件有读取权限,读取到文件后发现是一个php文件,则转发给php-fpm,此时则需要php-fpm用户对文件具有有读权限或者读写权限。

Mac下自启动SVN服务

Mac本地svn服务,需要我们在终端执行相关的命令才能启动svnserve服务。 为了免去每次启动时都需要手动输入相关的启动服务的命令,那么就需要我们编写一个shell脚本命令。在每次电脑开机启动时就自动执行该脚本里的命令,那么我们的服务就会自动启动,免去了手动输入命令的麻烦。

#!/bin/bash svnserve -d -r ~/Documents/svn

svnserve -d -r /你的SVN服务器路径   (建议使用相对路径,否则运行时会提示会找不该路径) 保存成可执行文件shell 也就是.sh脚本。(可以在一个没有格式的txt文本里编辑,然后再保存,修改后缀名为.sh) 然后更改该脚本权限为可执行。 chmod 711 localsvnserverstart.sh  (文件名可自定义) 是否可执行,可以验证一下。在终端中cd到该.sh所在的目录下,执行命令:./localsvnserverstart.sh 如果终端没有任何错误输出,可以到活动监视器里进行搜索:svnserve 查看是否有该服务已经启动了。 如何需要在开机时就启动该服务那么就需要进行以下操作了 进入系统偏好设置-用户与群组-登陆项 在管理员用户头像哪里有个登陆项,点击后会有一个列表框,点击添加,找到你你写的shell脚本,添加上去,并勾选这个选项(不需要勾选上,因为勾选的话,表示登录是隐藏应用程序),让其在开机启动是执行。


如果想在打开终端的时候,执行命令,可以在 ~/.bash_profile 文件里添加命令即可

Linux安装配置MySql

1、安装客户端和服务器端

[codesyntax lang=”bash”]

#确认mysql是否已安装
yum list installed mysql*
rpm -qa grep mysql*

#查看是否有安装包
yum list mysql*

#安装mysql客户端
yum install mysql

#安装mysql 服务器端
yum install mysql-server
yum install mysql-devel

[/codesyntax]  

2、启动、停止设置

数据库字符集设置 mysql配置文件/etc/my.cnf中加入default-character-set=utf8 [codesyntax lang=”bash”]

#启动mysql服务:
service mysqld start
#或者
/etc/init.d/mysqld start

#设置开机启动:
chkconfig –add mysqld
chkconfig mysqld on

#查看开机启动设置是否成功
chkconfig –list grep mysql*
mysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

#停止mysql服务:
service mysqld stop

[/codesyntax]    

3.创建或修改密码:

a.例如你的 root用户现在没有密码,你希望的密码修改为123456,那么命令是:

mysqladmin -u root password 123456

b.如果你的root现在有密码了(123456),那么修改密码为abcdef的命令是:

mysqladmin -u root -p password abcdef

注意,命令回车后会问你旧密码,输入旧密码123456之后命令完成,密码修改成功。

4.开启远程访问权限

  4.1、登陆mysql

mysql -u root -p

4.2.修改mysql库的user表,将host项,从localhost改为%。%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip,比如可以将localhost改为192.168.1.123,这表示只允许局域网的192.168.1.123这个ip远程访问mysql。

mysql> use mysql; mysql> update user set host = ‘%’ where user = ‘root’; mysql> select host, user from user; mysql> flush privileges;

5.防火墙开放3306端口

[codesyntax lang=”bash”]

#打开防火墙配置文件
vi /etc/sysconfig/iptables

#增加下面一行
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT

#重启防火墙
service iptables restart

[/codesyntax]  

6. 查看mysql 状态

# ps -e grep mysqld

13085 pts/1 00:00:00 mysqld_safe

13190 pts/1 00:00:00 mysqld

或者

service mysqld status

7.修改mysql端口

为了安全,不采用默认端口3306,改为3506

7.1. 登录mysql

[root@test /]# mysql -u root -p

Enter password:

7.2. 使用命令show global variables like ‘port’;查看端口号

mysql> show global variables like ‘port’; +—————+——-+ Variable_name Value +—————+——-+ port 3306 +—————+——-+

7.3. 修改端口,编辑/etc/my.cnf文件,早期版本有可能是my.conf文件名,增加端口参数,并且设定端口,注意该端口未被使用,保存退出。

[root@test etc]# vi my.cnf [mysqld] port=3506 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock

7.4.重启mysql

service mysqld restart

再次查看,端口已经变为3506

mysql> show global variables like ‘port’; +—————+——-+ Variable_name Value +—————+——-+ port 3506 +—————+——-+

8、mysql的几个重要目录

8.1数据库目录 /var/lib/mysql/ 8.2配置文件 /usr/share /mysql(mysql.server命令及配置文件) 8.3相关命令 /usr/bin(mysqladmin mysqldump等命令) 8.4启动脚本 /etc/rc.d/init.d/(启动脚本文件mysql的目录)

Linux下安装ShadowSocks

服务器环境:CentOS6.5 ,Python3.5,服务器pip可用。 1.安装和配置:

pip install shadowsocks

创建配置文件:

vi /etc/shadowsocks.json

{
“server”:”0.0.0.0”,
“server_port”:8989,
“local_address”: “127.0.0.1”,
“local_port”:1080,
“password”:”yourpassword”,
“timeout”:600,
“method”:”aes-256-cfb”,
“fast_open”: false,
“workers”: 1
}

各字段的含义:

  • server:服务器 IP (IPv4/IPv6),注意这也将是服务端监听的 IP 地址
  • server_port:监听的服务器端口
  • local_address:本地监听的 IP 地址
  • local_port:本地端端口
  • password:用来加密的密码
  • timeout:超时时间(秒)
  • method:加密方法,可选择 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4”, 等等。默认是一种不安全的加密,推荐用 “aes-256-cfb”
  • works:works数量,默认为 1
  • fast_open:true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法:

echo 3 > /proc/sys/net/ipv4/tcp_fastopen

开启之后,将 fast_open 的配置设置为 true 即可。   2、 命令行参数(服务器端启动命令) ssserver -c /etc/shadowsocks.json 如果想在后台一直运行Shadowsocks,启动命令如下: nohup ssserver -c /etc/shadowsocks.json > /dev/null 2>&1 & 备注:关于nohup,是可以让程序在后台运行的命令。 同时可以用命令行参数覆盖 /etc/shadowsocks.json 里的设置: sslocal -s 服务器地址 -p 服务器端口 -l 本地端端口 -k 密码 -m 加密方法 ssserver -p 服务器端口 -k 密码 -m 加密方法 备注:sslocal是客户端程序;ssserver是服务端程序。   5、 防火墙设置(如有) 编辑防火墙配置文件/etc/sysconfig/iptables,将服务器端口(server_port)放行。 新增一条防火墙规则:

-A INPUT -m state –state NEW -m tcp -p tcp –dport 8989 -j ACCEPT

如果找不到 文件/etc/sysconfig/iptables, 可以使用命令行:

iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 8989 -j ACCEPT service iptables save

重启防火墙iptables: service iptables restart 至此,服务器端的 Shadowsocks 安装和配置完毕。


等等…, 为什么能访问百度,访问不了facebook,啊? 服务器是国内的!!!吐血三升!