Nginx网站服务(LAMP网站服务平台)

*Nginx服务
Nginx专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,(单台物理服务器支持30000-50000个并发请求)

安装及运行运行控制
1.编译安装Nginx
Nginx的配置及运行需要pcre,zlib等软件包的支持,

[[email protected] ~]# yum -y install pcre-devel zlib-devel

创建运行用户,组

[[email protected] ~]# useradd -M -s /sbin/nologin nginx

*编译安装Nginx

tar zxf  /mnt/nginx-1.6.2.tar.gz  -C  /usr/src
cd  /usr/src/nginx-1.6.2
[[email protected] nginx-1.6.2]# ./configure --prefix=/usr/local/nginx  --user=nginx  --group=nginx  --with-http_stub_status_module
[[email protected] nginx-1.6.2]# make&&make install

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

[[email protected] nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

2.nginx的运行控制
*控制配置文件
检查控制文件是否正确

[[email protected] nginx-1.6.2]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

*启动,停止nginx


[[email protected] nginx-1.6.2]# nginx

检查nginx的监听端口,或通过浏览器访问

[[email protected] nginx-1.6.2]# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN 

3.了解nginx的配置文件nginx.conf

在nginx服务器的主配置文件/usr/local/nginx/conf/nginx。conf,包括全局配置,i/o事件配置和HTTP配置三大块内容,配置语句的格式为‘关键字 值’(末尾以分号表示结束)以‘#’开始的部分表示注释

(1)全局配置
它包括Nginx服务的运行用户,工作进程数,错误日志,PID存放位置等等基本设置

#user  nobody;  //运行用户 默认为nobody
worker_processes  1; //工作的进程数量,可以根据cpu核心总数来指定工作进程数
#error_log  logs/error.log;//错误日志文件的位置
#pid        logs/nginx.pid; //PID文件的位置

(2)I/O事件配置
使用‘events {}’ 界定标记用来指定Nginx进程的I/O响应模型,每个进程的连接数等设置,对于2,6及以上的版本内核,建议使用epoll模型以提高性能;每个进程的连接数应根据实际需要来定,一般在10000以下(默认为1024)


events {
    use epoll  //使用epoll模型
    worker_connections  4096;每个进程处理4096个进程连接
}

(3)HTTP配置

使用 “http {} “界定标记用于设定http服务器,包括访问日志,HTTP端口,网页目录,默认字符集,连接保持,以及虚拟WEB主机,PHP解析等网站全局设置,其中大部分配置语句都包含在界定标记“server {}”代表一个具体的网站

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"'; //去掉前面的#

    access_log  logs/access.log  main; //去掉前面的#
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;

《Nginx网站服务(LAMP网站服务平台)》

4、构建基于域名的虚拟web主机

(1)准备网站目录以及测试文件

[[email protected] nginx-1.6.2]# mkdir -p /var/www/benet
[[email protected] nginx-1.6.2]# echo "<h1>www.benet.com</h1>">/var/www/benet/index.html
[[email protected] nginx-1.6.2]# mkdir -p /var/www/accp
[[email protected] nginx-1.6.2]# echo "<h1>www.accp.com</h1>">/var/www/accp/index.html

(2)调整nginx.conf配置文件
虚拟主机配置在server{}区域中,每个server{}区域代表一个web站点配置,指定各自网站名称、监听地址、网站根目录、访问日志等信息,然后重新加载配置(加俩段节点为 www.accp。com www.benet。com )

server {
        listen       80;
        server_name  www.benet.com;
        charset utf-8;
        access_log  logs/benet.access.log  main;
        location / {
            root   /var/www/benet;
            index  index.html index.htm;
        }
        location /status {
            stub_status on;
            access_log off;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
server {
        listen       80;
        server_name  www.accp.com;
        charset utf-8;
        access_log  logs/accp.access.log  main;
        location / {
            root   /var/www/accp;
            index  index.html index.htm;
        }
        location /status {
            stub_status on;
            access_log off;
        }
       error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
}

(3.重新加载

[[email protected] nginx-1.6.2]# killall -s QUIT nginx
[[email protected] nginx-1.6.2]# nginx

(4).测试

《Nginx网站服务(LAMP网站服务平台)》
《Nginx网站服务(LAMP网站服务平台)》

五、构建LNMP架构及应用部署
就像构建LAMP一样,构建LNMP平台也需要Linux服务器,Mysql数据库,PHP解析环境,区别主要在Nginx与PHP的协议配置上

(1)启用php-fpm进程

[[email protected] vod]# useradd -M -s /sbin/nologin php

①修改php-fpm.conf配置文件修改相关参数,然后启动php-fpm进程,php-fpm默认监听本机的9000端口

#cd  /usr/local/php5/etc
#cp php-fpm.conf.default  php-tpm.conf
pid = run/php-fpm.pid   //确认pid文件的位置
user = php               //运行用户
group = php             //运行组
pm.start_servers = 20       //启动时开启的进程数
pm.min_spare_servers = 5    //最小空闲进程数
pm.max_spare_servers = 35  //最大空闲进程数
pm.max_children = 50        //最大子进程数

②启动php-fpm

[[email protected] etc]# /usr/local/sbin/php-fpm

(2)配置nginx:完全支持php解析
说明:无论使用哪一种解析方式都需要server中进行配置

[[email protected] Desktop]# vim /usr/local/nginx/conf/nginx.conf

 server {
        listen       80;
        server_name  vod.benet.com;
        charset utf-8;
        access_log  logs/vod.access.log  main;
       location / {
           root   /var/www/vod;
            index index.html index.php;
        }
       location ~ \.php$ {              //访问.php页面的配置段
           root   /var/www/vod;         //php页面的根目录
           fastcgi_pass 127.0.0.1:9000;     //php-fpm监听地址
           fastcgi_index index.php;         //php首页名称
          include fastcgi.conf;             //fastcgi模块配置
        }
}
}

[[email protected] vod]# killall -s QUIT nginx
[[email protected] vod]# nginx

(3)php页面访问测试

[[email protected] vod]# mysqladmin -u root -p password '123456'
#service mysqld start  //启动数据库
mkdir  /var/www/vod
在/var/www/vod下创建一个测试页面test.php
vim  /var/www/vod/test.php
<?php
$link=mysqli_connect('localhost','root','123456');
if ($link) echo "<h1>恭喜你,数据库连接成功</h1>";
mysqli_close($link);
?>

然后在客户机使用浏览器访问

《Nginx网站服务(LAMP网站服务平台)》
六、LNMP平台的应用–部署天空网络电影系

1.下载并部署程序代码

[[email protected] ~]# unzip /mnt/SKYUC_3.4.2_for_php5.3.zip -d /usr/src
[[email protected] ~]# cd /usr/src/SKYUC.v3.4.2.SOURCE/
[[email protected] SKYUC.v3.4.2.SOURCE]# mv wwwroot/ /var/www/vod/skyuc
[[email protected] SKYUC.v3.4.2.SOURCE]# cd /var/www/vod/skyuc/
[[email protected] skyuc]# chown -R php:php admincp/ data/ templates/ upload/

2.创建数据库
为了降低web应用程序对数据库的风险,建议设置专用的数据库以及授权用户

[[email protected] skyuc]# mysql -u root -p
mysql> create database skyucdb;
mysql> grant all on skyucdb.* to [email protected] identified by '[email protected]';

3.安装web应用

《Nginx网站服务(LAMP网站服务平台)》

《Nginx网站服务(LAMP网站服务平台)》

4.访问web应用系统

《Nginx网站服务(LAMP网站服务平台)》

点赞