首页 > 代码库 > nginx
nginx
一、安装Nginx
#创建nginx用户
groupadd -r nginx
useradd -r -g nginx -s /bin/false -M nginx
#安装依赖包
yum install gcc openssl-devel pcre-develzlib-devel -y
#下载解压源码
cd /usr/src/
wget ftp://172.16.0.1/pub/Sources/sources/nginx/nginx-1.6.2.tar.gz
tar xf nginx-1.6.2.tar.gz
#编译安装
cd /usr/src/nginx-1.6.2
./configure --prefix=/usr/local/nginx--conf-path=/etc/nginx/nginx/nginx.conf --user=nginx --group=nginx--error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid--lock-path=/var/lock/nginx.lock --with-http_ssl_module--with-http_stub_status_module --with-http_gzip_static_module--with-http_flv_module --with-http_mp4_module --http-client-body-temp-path=/var/tmp/nginx/client--http-proxy-temp-path=/var/tmp/nginx/proxy--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi
make && make install
#启动nginx
mkdir /var/tmp/nginx/client -pv
/usr/local/nginx/sbin/nginx
#查看是否启动
lsof -i :80
[root@localhost sbin]# lsof -i :80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 22462 root 6u IPv4 57010 0t0 TCP *:http (LISTEN) nginx 22463 nginx 6u IPv4 57010 0t0 TCP *:http (LISTEN) |
#添加启动服务脚本
vi /etc/rc.d/init.d/nginx
#user nobody; 指定运行worker进程的用户 worker_processes 1; worker线程的个数,通常为物理CPU核心个数减1
#error_log logs/error.log; #error_log logs/error.log notice; 错误日志,后面是日志级别 #error_log logs/error.log info; #error_log /dev/null; 这样可以关闭日志记录
#pid logs/nginx.pid; 指定nginx的pid文件
#指定文件描述符数量
#工作模式及连接上限 events { worker_connections 1024; 单个进程的最大连接数 }
#设定http服务器 http { #设定浏览器请求的文件媒体类型 include mime.types; default_type application/octet-stream; 默认文件类型
#设定日志格式 #log_format main ‘$remote_addr - $remote_user[$time_local] "$request" ‘ # ‘$status$body_bytes_sent "$http_referer" ‘ # ‘"$http_user_agent" "$http_x_forwarded_for"‘;
#日志名称,和日志记录格式采用main以及存放位置 #access_log logs/access.log main;
server_names_hash_bucket_size 128;
#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件。请求的资源由内核获取后不再经过用户空间直接由内核封装后响应给请求方 sendfile on; #tcp_nopush on; 防止网络阻塞
#keepalive_timeout 0; keepalive_timeout 65; 保持连接的超时时长,默认为65s
fastcgi_connect_timeout 300;
#gzip on;开启gzip模块 #该指令允许压缩的页面最小字节数
#定义一个虚拟主机 server { listen 80; 虚拟机监听的服务器地址和端口号 server_name localhost; 可跟多个主机名,主机名可以使用通配符和正则表达式(~)
#charset koi8-r; 字符集,网站编码
#access_log logs/host.access.log main; 设定本虚拟机的访问日志
#允许根据用户请求的URI来匹配定义的各location,匹配到时,此请求将被相应的location块中的配置所处理 location / { root html; 设置web资源路径映射,用于指明请求的URL所对应的文档的根目录路径 index index.html index.htm; 默认的主页面 }
#error_page 404 /404.html; 根据http状态码重定向错误页面
# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; 根据http状态码重定向错误页面 location = /50x.html { root html; }
# proxy the PHP scripts to Apache listening on 127.0.0.1:80 #php脚本代理给127.0.0.1:80处理(比如可以做apache处理后端) #location ~ \.php$ { # proxy_pass http://127.0.0.1; #}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 #PHP脚本用FastCGI模式处理127.0.0.1:9000 #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_params; #}
# deny access to .htaccess files, if Apache‘s document root # concurs with nginx‘s one #文件禁止访问 #location ~ /\.ht { # deny all; #} }
#HTTPS server #支持ssl协议的虚拟机相关设置 #server { # listen 443 ssl; # server_name localhost;
# ssl_certificate cert.pem; 服务器证书 # ssl_certificate_key cert.key; 服务器私钥
# ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on;
# location / { # root html; # index index.html index.htm; # } #} } |
nginx