Nginx网站服务

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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;

本文转自   宏强   51CTO博客,原文链接:http://blog.51cto.com/tanhong/1880808

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
负载均衡 Ubuntu 应用服务中间件
【Linux】Web服务之Nginx服务
【Linux】Web服务之Nginx服务
38 0
|
4月前
|
应用服务中间件 Linux 网络安全
Linux 安装 Nginx 并配置为系统服务(超详细)
Linux 安装 Nginx 并配置为系统服务(超详细)
|
4月前
|
负载均衡 算法 应用服务中间件
这些负载均衡都解决哪些问题?服务、网关、NGINX?
这些负载均衡都解决哪些问题?服务、网关、NGINX?
|
27天前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
176 0
|
1月前
|
安全 应用服务中间件 nginx
|
1月前
|
域名解析 网络协议 应用服务中间件
nginx-ingress通过ipv6暴露服务,并在nginx ingress日志中记录客户端真实ipv6的ip地址
本文主要通过阿里云提供的clb和nlb来实现,建议是提前创建好双栈的vpc和vsw(使用clb可以不用双栈vpc和vsw)
175 1
|
2月前
|
负载均衡 监控 应用服务中间件
Nginx负载均衡:你的网站流量翻倍利器
Nginx负载均衡:你的网站流量翻倍利器
39 0
|
2月前
|
缓存 应用服务中间件 网络安全
nginx服务升级配置
nginx服务升级配置
|
3月前
|
监控 安全 前端开发
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
33 0
|
3月前
|
安全 应用服务中间件 Linux
百度搜索:蓝易云【CentOS7使用Nginx、Supervisor部署Go/Golang服务教程】
这些是在CentOS 7 x64上使用Nginx和Supervisor部署Go/Golang服务的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
57 0