您好,登錄后才能下訂單哦!
*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;
4、構建基于域名的虛擬web主機
(1)準備網站目錄以及測試文件
[root@centos1 nginx-1.6.2]# mkdir -p /var/www/benet
[root@centos1 nginx-1.6.2]# echo "<h2>www.benet.com</h2>">/var/www/benet/index.html
[root@centos1 nginx-1.6.2]# mkdir -p /var/www/accp
[root@centos1 nginx-1.6.2]# echo "<h2>www.accp.com</h2>">/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).測試
五、構建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 "<h2>恭喜你,數據庫連接成功</h2>";
mysqli_close($link);
?>
?然后在客戶機使用瀏覽器訪問
六、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應用
4.訪問web應用系統
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。