配置nginx作为web server

RHEL6.6-x86-64

nginx-1.80

php-5.6.6

mysql-5.6.14

安装nginx

事先装好pcre-devel 、gd-devel包

./configure  
 --prefix=/usr   --sbin-path=/usr/sbin/nginx   --conf-path=/etc/nginx/nginx.conf    --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    --user=nginx   --group=nginx   --with-http_ssl_module   --with-http_flv_module    --with-http_stub_status_module   --with-http_gzip_static_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/fcgi/   --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi  --http-scgi-temp-path=/var/tmp/nginx/scgi    --with-http_image_filter_module
 # make
 # make test
 # make install

安装mysql

请参考我的另一篇文章,点此跳转

安装php

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql  --with-openssl--with-mysqli=/usr/local/mysql/bin/mysql_config  --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib--with-libxml-dir=/usr --enable-xml --enable-sockets  --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts --enable-fpm
# make
# make test
# make install

为php提供配置文件

# cp php.ini-production /etc/php.ini

为php-fpm提供sysv风格脚本

# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

# chmod +x /etc/init.d/php-fpm
# chkconfig php-fpm on

为php-fpm提供配置文件

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

修改一些配置文件参数

# vim /usr/local/php/etc/php-fpm.conf
pm.max_children = 200
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 12
pid = /usr/local/php/var/run/php-fpm.pid

# service php-fpm start

使nginx与php-fpm相结合工作

vim /etc/nginx/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_params;
        }
location / {
           root   html;
            index  index.php index.html index.htm;
 }

FastCGI Params

# vim /etc/nginx/fastcgi_params
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
时间: 2024-10-09 23:39:14

配置nginx作为web server的相关文章

nginx学习笔记之二:nginx作为web server

一.nginx的配置文件:nginx.conf 1.nginx配置文件的结构: main(全局配置段) events {...} http { ... server { location ... {...} location ... {...} ... } server { ... } } 2.配置参数需要以分号结尾,语法格式: 参数名  值1 [值2 ...]; 3.配置文件中还可使用变量: 模块内置变量 用户自定义变量:set var_name value 4.配置文件检查:nginx -t

Nginx安全配置标准(for web server)

一.目的 本标准是信息系统安全技术标准的一部分,主要目的是根据信息安全管理政策要求,为我司"Nginx web server"配置提供安全标准. 二.范围 本规范适用于我司所有Nginx web server. 三.内容 3.1 版本 使用较新的稳定版本 3.2 启动帐号 使用非root帐号启动 user www wwww; 或者 user nginx nginx; 3.3 日志记录 记录access log 3.4 预防php fastcgi文件名解析漏洞 如果nginx启用了php

43_03_配置Ngnix作为Web Server详解

IO复用 http://nginx.org/ Http服务器 反向代理 reverse proxy mail http C10k 单进程:阻塞 多进程:每个进程响0应一个请求 进程量大,进程切换次数过多 每个进程的地址空间是独立,很多空间是重复的数据,所以内存使用效率较低 线程:thread, Light Weight Process, LWP 每个线程响应一个请求 线程仍然切换:属于轻量级 同一个 进程的线程可以共享进程的诸多资源,比如打开的文件 对内存的需求较之进程略有下降 快速切换时候会带

CI框架中如何配置Nginx

codeigniter(CI)是一个轻量型的PHP框架,因为它是在apache服务器下开发的,所以在nginx下需要特别的配置才可以使用. 具体方法如下: 1.对application/config/config.php进行修改,大约在48行左右.   $config['uri_protocol'] = "PATH_INFO"; 2.配置nginx.conf文件 server { listen       80; listen [::]:80 ipv6only=on; server_n

Linux下 如何正确配置 Nginx + PHP

假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由.一般这样配置此时很多教程会教大家这样配置Nginx+PHP:server {    listen 80;    server_name foo.com;    root /path;    location / {        index index.html index.htm index.php;        if (!-e $req

如何正确配置Nginx+PHP及正确的nginx URL重写

对很多人而言,配置Nginx+PHP无外乎就是搜索一篇教程,然后拷贝粘贴.听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷贝粘贴,早晚有一天会为此付出代价. 假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由. 此时很多教程会教大家这样配置Nginx+PHP: server { listen 80; server_name foo.com; r

如何正确配置Nginx+PHP (优化配置)

对很多人而言,配置Nginx+PHP无外乎就是搜索一篇教程,然后拷贝粘贴.听上去似乎也没什么问题,可惜实际上网络上很多资料本身年久失修,漏洞百出,如果大家不求甚解,一味的拷贝粘贴,早晚有一天会为此付出代价. 假设我们用PHP实现了一个前端控制器,或者直白点说就是统一入口:把PHP请求都发送到同一个文件上,然后在此文件里通过解析「REQUEST_URI」实现路由. 此时很多教程会教大家这样配置Nginx+PHP: server { listen 80; server_name foo.com; r

在nginx中配置如何防止直接用ip访问服务器web server及server_name特性讲解

看了很多nginx的配置,好像都忽略了ip直接访问web的问题,不利于SEO优化,所以我们希望可以避免直接用IP访问网站,而是域名访问,具体怎么做呢,看下面. 官方文档中提供的方法: If you do not want to process requests with undefined “Host” header lines, you may define a default server that just drops the requests: server { listen 80 de

linux学习笔记——搭建基于nginx的web服务器、多核配置、nginx配置参数

############ 认识nginx #############Nginx:(发音同 engine x)是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用.  其优点是轻量级(占有内存少),高并发(并发能力强),事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用ngi