1.centos7安装nginx
yum -y install gcc //gcc是linux下的编译器
yum install -y pcre pcre-devel //pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库。
yum install -y zlib zlib-devel //zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
yum install -y openssl openssl-devel //openssl是web安全通信的基石
wget http://nginx.org/download/nginx-1.9.9.tar.gz //版本自己选择
tar -zxvf nginx-1.9.9.tar.gz //将nginx解压到user/local/java下
cd到user/local/java/nginx版本号下执行以下三个命令
./configure
make
make installcd到user/local/nginx下配置文件nginx.conf,配置端口
./nginx启动nginx
nginx降权+php匹配
为什么要给nginx降权:
(1)管理权限必须是root,这就使得最小化分配权限原则遇到难题
(2)使用root跑Nginx服务,一旦网站出现漏洞,用户就可以很容易获得服务器的root权限
添加普通用户并启动nginx
useradd wyx
su wyx //切换到普通用户下
启动nginx,启动失败
设置权限(在root用户下)
chown -r wyx:wyx /usr/local/nginx/
创建相关文件
mkdir conf logs www
copy配置文件中网页支持类型,以及nginx配置文件(在root用户下)
cp /www/env/nginx/conf/mime.types /home/wyx/nginx/conf/
cp /www/env/nginx/conf/nginx.conf /home/wyx/nginx/conf/
修改配置文件(vim conf/nginx.conf)修改路径 为普通用户下的路径
worker_processes 4;
worker_rlimit_nofile 65535;
error_log /home/inca/logs/error.log;
user inca inca;
pid /home/inca/logs/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
include /home/inca/conf/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8080;
server_name localhost;
root /home/inca/www;
location / {
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
access_log /home/inca/logs/access.log;
}
}
安装php php-fpm
查看运行状态
systemctl status php-fpm
修改配置文件,将注释删除(vim conf/nginx.conf)
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
在普通用户下启动nginx