Nginx網站服務(LAMP網站服務平臺)

*Nginx服務
Nginx專爲性能優化而開發,其最知名的優點是它的穩定性和低系統資源消耗,以及對HTTP併發連接的高處理能力,(單臺物理服務器支持30000-50000個併發請求)

安裝及運行運行控制
1.編譯安裝Nginx
Nginx的配置及運行需要pcre,zlib等軟件包的支持,

[root@centos1 ~]# yum -y install pcre-devel zlib-devel

創建運行用戶,組

[root@centos1 ~]# 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
[root@centos1 nginx-1.6.2]# ./configure --prefix=/usr/local/nginx  --user=nginx  --group=nginx  --with-http_stub_status_module
[root@centos1 nginx-1.6.2]# make&&make install

爲了使Nginx服務器的運行更加方便,可以爲主程序Nginx創建鏈接文件,方便管理員直接執行“nginx”命令就可以調用nginx主程序

[root@centos1 nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

2.nginx的運行控制
*控制配置文件
檢查控制文件是否正確

[root@centos1 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


[root@centos1 nginx-1.6.2]# nginx

檢查nginx的監聽端口,或通過瀏覽器訪問

[root@centos1 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)準備網站目錄以及測試文件

[root@centos1 nginx-1.6.2]# mkdir -p /var/www/benet
[root@centos1 nginx-1.6.2]# echo "<h1>www.benet.com</h1>">/var/www/benet/index.html
[root@centos1 nginx-1.6.2]# mkdir -p /var/www/accp
[root@centos1 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.重新加載

[root@centos1 nginx-1.6.2]# killall -s QUIT nginx
[root@centos1 nginx-1.6.2]# nginx

(4).測試

Nginx網站服務(LAMP網站服務平臺)
Nginx網站服務(LAMP網站服務平臺)

五、構建LNMP架構及應用部署
就像構建LAMP一樣,構建LNMP平臺也需要Linux服務器,Mysql數據庫,PHP解析環境,區別主要在Nginx與PHP的協議配置上

(1)啓用php-fpm進程

[root@centos1 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

[root@centos1 etc]# /usr/local/sbin/php-fpm

(2)配置nginx:完全支持php解析
說明:無論使用哪一種解析方式都需要server中進行配置

[root@centos1 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模塊配置
        }
}
}

[root@centos1 vod]# killall -s QUIT nginx
[root@centos1 vod]# nginx

(3)php頁面訪問測試

[root@centos1 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.下載並部署程序代碼

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

2.創建數據庫
爲了降低web應用程序對數據庫的風險,建議設置專用的數據庫以及授權用戶

[root@centos1 skyuc]# mysql -u root -p
mysql> create database skyucdb;
mysql> grant all on skyucdb.* to runskyuc@localhost identified by 'sky@uc123';

3.安裝web應用

Nginx網站服務(LAMP網站服務平臺)

Nginx網站服務(LAMP網站服務平臺)

4.訪問web應用系統

Nginx網站服務(LAMP網站服務平臺)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章