Nginx网站服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx网站服务相关的知识,希望对你有一定的参考价值。

nginx的基本配置

构建LNMP网站服务器平台

一、Nginx服务基础

        专为性能优化而开发,其最知名的优点是他的稳定性和低系统资源消耗。

    1,安装及运行控制(安装文件可以从官网http://www.nginx.org下载)

            编译安装Nginx

                    安装支持软件

                        Nginx的配置及运行需要pcre,zlib等软件包的支持

                    创建运行用户,组

                        Nginx服务程序默认以nobody身份运行,建议为起创建专门的用户账号,以便更准确的控制其访问权限,增加灵活性,降低安全风险。

                    编译安装Nginx

                        配置Nginx的编译选项时,将安装目录设为/usr/local/nginx,运行用户和组设为nginx:启动用http_stub_status_module模块以支持状态统计,便于查看服务器的连接信息。

                        为了是Nginx服务器的运行更加方便,可以为主程序nginx创建链接文件,以便管理员直接执行“nginx”命令可以调用Nginx的主程序。

             Nginx的运行控制

                    检查配置文件

                            Nginx的主程序也提供了“-t”选项来对配置文件进行检查,以便找出不当或错误的配置。

                    启动,停止Nginx

                            直接运行Nginx即可启动Nginx服务器,这种方式将使用默认的配置文件,若要该用其他配置文件,需添加“-c配置文件路劲”选项来指定路径。

                            通过检查Nginx程序的监听状态,或者在浏览器中访问此web服务,可以确认Nginx服务是否正常运行

                            主程序Nginx支持标准的进程信号,通过kill和kilall命令发送HUP信号表示重载配置,QUT信号表示退出进程,Kill型号表示杀死进程

                            当Nginx进程运行时,PID号默认存放在logs/目录下的Nginx.pid文件中,因此若该用kill命令,也可以根据nginx.pid文件中的PID好来进行控制。

                    使用Nginx服务脚本

                                需要设置脚本的可执行权限:chmod +x 脚本路径名

                                添加为系统服务:chkconfig --add nginx

     2,配置文件nginx.conf

                    在Nginx服务器的主配置文件/usr/local/nginx/conf/nginx.conf中,包括全局配置,1/0事件配置和HTTP配置三大快内容。配置语句的格式为“关键字  值;” (末尾以分号表示结束),以“#”开始的部分表示注释

            全局配置

                    由各种配置语句组成,不使用特定的界定标记。全局配置部分包括Nginx服务的运行用户,工作进程数,错误日志,PID存放位置等基本设置。

        worker_processes表示工作进程的数量。若服务器有多块CPu或者使用多核处理器,可以参考CPu核心数总数来指定工作进程数。

            1/0事件配置

                    使用“events{}”界定标记,用来指定Nginx进程的1/0响应模型,每个进程的连接数等设置

            HTTP配置

                    使用“http{}”界定标记,包括访问日志,HTTP端口,网页目录,默认字符集,连接保持,以及虚拟web主机,php解析等一系列设置

                    listen语句运行同时限定ip地址,采用“ip地址:端口”形式;root语句用来设置特定访问位置(如“location/”表示根目录)的网页文档路径,默认为Nginx安装目录下的html/子目录,根据需要可以改为/var/www/html等其他路劲

     3.访问状态统计及虚拟主机应用

             Nginx的访问状态统计

                    Nginx内置了HTTP_STUB_STATUS状态统计模块,用来反馈当前的web访问情况,配置编译参数时可以添加--with-http_stub_status_module来启用此模块。

vim    /usr/local/nginx/conf/nginx.conf

http {

    server {

            listen 80;

            server_name www.tanhong.com;

            charset utf-8;

            location / {

                    root    html;

                    index index.html index.php;

                 }

                location /status {

                stub_status on;

                access_log off;

            }

           }

        }

             基于域名的虚拟web主机

                    使用Nginx搭建虚拟主机服务器时,每个虚拟web站点拥有独立的“server{}” 配置段,各自监听ip地址,端口号可以单独指定,网站名称也是不同的

                准备网站目录及测试文件

                调整nginx.conf配置文件

                        配置两个“server{}”区域,分别对应两个web站点,指定各自的网站名称,监听地址,网站根目录,访问日志等信息

                vim /usr/local/nginx/conf/nginx.conf

               ......

            http {

                ......

            server {

                    listen    80;

                    server_name www.tanhong.com;

                    charset utf-8;

                    access_log logs/tanhong.access.log amin;

                    location / {

                        root    /var/www/tanhong;

                        index    index.html    index.php;

                      }

                    }

        server {

            listen    80;

            server_name www.shenghuo.com;

            charset_utf-8;

            access_log    logs/shenghuo.access.log main;

            location / {

                    root /var/www/shenghuo;

                    index    index.html    index.php;

                }

            }

        }

二.LNMP架构及应用部署

        一.构建LNMP网站平台

            需要linux服务器,mysql数据库,php解析环境。

                安装mysql数据库

                          编译安装mysql

                                yum -y install  ncurses-devel

                                tar zxvf  cmake-2.8.6.tar.gz

                                cd cmake-2.8.6

                                ./configure  && gmake && gmake install

                                tar zxvf mysql-5.5.22.tar.gz

                                cd mydql-5.5.22

                                cmake -DCMAKE_INSTAL_PREFIX=/usr/local/mysql --DDEFAULT_CHARSET=utf8 -DDEFAULT-COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install

                优化调整

                    cp support-files/my-medium.conf /etc/my.cnf

                    cp support_files/mysql.server  /etc/rc.d/init.d/mysqld

                    chmod +x /etc/rc.d/init.d/mysqld

                    chkconfig --add mysqld

                    echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

                    . /etc/profile

                初始化数据库

                    groupadd mysql

                    useradd -M -s /sbin/nologinf mysqld -g mysql

                    chown -R mysql:mysql /usr/local/mysql

                    /usr/local/mysql:mysql /usr/local/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

                启动mysql服务

                     service mysqld start

               安装php解析环境

                        较新版本的php已经自带fpm模块,用来对hph解析实例进行管理,优化解析效率。配置php编译选项时应添加“--enable-fpm”以启用此模块

                    编译安装php

                            yum -y install gb libxml2-devel libjpeg-devel libpng-devel

                            tar zxvf php-5.3.28.tar.gz  

                            cd php-5.3.28

                            ./configure --preifx=/usr/local/php5 --with-gd --with-zlib --with-mysql --with-mysql=/usr/local/mysql  --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib && make && make install

                    安装后的调整

                            cp php.ini-development /usr/local/php5/php.ini

                            ln -s /usr/local/php5/bin/* /usr/local/bin

                            ln -s /usr/local/php5/sbin/* /usr/local/sabin

                 配置Nginx支持PHP环境

                    若要让Nginx能够解析php网页,有两种方法可以选择:其一,充当中介,将访问PHP页面的web请求转交给其他服务器去处理;其二,通过使用php的fpm模块来调用本机的php环境。

                        启用php-fpm进程

                            cd /usr/local/php5/etc

                            cp php-fpm.conf.default php-fpm.conf

                            useradd -M -s /sbin/nologin php

                            vim php-fpm.conf

                                     pid=run/php-rpm.pid

                                     group=php

                                     uses=php

                                    pm.start_server=20

                                    pm.min_server=5

                                    pm.max_spare_server=35

                                    pm.max_children=50

                            /usr/local/sbin/php-fpm

                            netstat -anpt | grep php-fpm

                                php-fpm.conf文件中,pid配置行指出了PId信息的存放位置,对应的实际路径为/usr/local/php5/var/run/php-fpm.pid

                    配置Nginx支持php解析

                            都需要在“server{}”配置段中添加location设置,以便指定当访问.php网页是采取何种操作

                        第一种方法(转交给其他web服务器处理)

                            server {

                                   .......

                                location ~ /.php$ {

                                        proxy_pass    http://

}

}

                         第二种方法(调用本机的php—fpm进程)

                            server {

                                ......

                                    location ~ /.php$ {

                                        root    /var/www/tanhong;

                                        fastcgi_pass    127.0.0.1:9000;

                                        fastcgi_index    index.php;

                                        include    fastcgi.conf;


本文出自 “11853028” 博客,转载请与作者联系!

以上是关于Nginx网站服务的主要内容,如果未能解决你的问题,请参考以下文章

Nginx网站服务配置

Nginx网站服务——基础服务与访问控制

Nginx网站服务

Nginx 网站服务——虚拟主机配置

使用Nginx搭建静态网站

nginx网站服务