虚拟机VirtualBox中安装Centos7并配置Nginx

需要注意的点:

  1. 让虚拟机能访问外网,需要配置网络,使用NAT配置
  2. centos7 中查看IP的命令: ip addr
  3. centos7 中默认的防火墙不是iptables,而是firewalle,关闭方式: systemctl mask firewalld
  4. 安装Nginx前,要先安装EPEL库: sudo yum install epel-release

【参考】

  1. 虚拟机网络配置:https://www.jianshu.com/p/3585fecbfd4b
  2. 关闭防火墙:https://www.cnblogs.com/kreo/p/4368811.html
  3. 安装Nginx:https://blog.csdn.net/u011138533/article/details/53162499

linux之setfacl为目录文件设置用户组权限

使用访问控制表(ACL)

现在,让我们把这个问题变得棘手一点。假设你有一个目录 /DATA 并且你想给 readers 用户组的成员读取权限,并同时给 editors 用户组的成员读和写的权限。为此,你必须要用到 setfacl 命令。setfacl 命令可以为文件或文件夹设置一个访问控制表(ACL)。

这个命令的结构如下:

其中 OPTION 是可选选项,X 可以是 u(用户)或者是 g (用户组),NAME 是用户或者用户组的名字,/DIRECTORY 是要用到的目录。我们将使用 -m 选项进行修改。因此,我们给 readers 用户组添加读取权限的命令是:

现在 readers 用户组里面的每一个用户都可以读取 /DATA 目录里的文件了,但是他们不能修改里面的内容。

为了给 editors 用户组里面的用户读写权限,我们执行了以下命令:

上述命令将赋予 editors 用户组中的任何成员读取权限,同时保留 readers 用户组的只读权限。

【摘自:http://mp.weixin.qq.com/s/vChfSxlnXHRcakk4yIm_sQ】

禁止root账户登录linux服务器

  1. 修改文件/etc/ssh/sshd_config,将 PermitRootLogin yes 修改为
  2. 重启sshd服务:

     

【摘自:http://blog.csdn.net/a3470194/article/details/17114177】

如何添加用户ssh-key到目标机群部署用户ssh-key信任

效果:用SSH登录目标机器时,可以免密码登录。

实现示例:

这样用户www_php就可以免密码SSH登录remote_host服务器了。

创建更详细的SSH-key:

【参考:】https://walle-web.io/docs/install-error.html

初学nginx踩过的坑

1.除了安装nginx外,还要安装php-fpm。(同时,除了启动nginx外,还要启动php-fpm)

2.启动nginx和启动php-fpm使用的用户和用户组要一致,(可通过 ps aux|grep nginx , ps aux|grep php-fpm查看,如下图都是以nginx用户和用户组启动服务)如果不一致,可通过修改两者的conf配置文件修改。 继续阅读“初学nginx踩过的坑”

Nginx高级配置——绑定worker进程到指定的CPU内核

语法:worker_cpu_affinity cpumask[cpumask…]

为什么要绑定worker进程到指定的CPU内核呢?假定每一个worker进程都是非常繁忙的,如果多个worker进程都在抢同一个CPU,那么这就会出现同步问题。反之,如果每一个worker进程都独享一个CPU,就在内核的调度策略上实现了完全的并发。

例如,如果有4颗CPU内核,就可以进行如下配置:

注意,worker_cpu_affinity配置仅对linux操作系统有效。Linux操作系统使用sched_setaffinity()系统调用实现这个功能。

【摘自:《深入理解Nginx:模块开发与架构解析(第2版)》 陶辉 著】