Nginx網(wǎng)站服務(wù)于虛擬主機(jī)
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括撫松網(wǎng)站建設(shè)、撫松網(wǎng)站制作、撫松網(wǎng)頁(yè)制作以及撫松網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,撫松網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到撫松省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
1:nginx的優(yōu)點(diǎn):
穩(wěn)定性高
系統(tǒng)資源消耗低
http并發(fā)量處理能力好可支持30000-50000個(gè)并發(fā)請(qǐng)求
主要用于靜態(tài)頁(yè)面
以線程為單位,一個(gè)進(jìn)程對(duì)應(yīng)多個(gè)用戶,(線程很少占用系統(tǒng)資源)
2:與Apache的對(duì)比:
Apache主要用于動(dòng)態(tài)頁(yè)面
支持功能多
穩(wěn)定性能高
Apache以進(jìn)程為單位,一個(gè)用戶對(duì)應(yīng)一個(gè)進(jìn)程(一對(duì)一)
3:nginx主要用于:電商,網(wǎng)站,社交,門戶......
4:安裝及控制nginx
1.安裝支持軟件
[root@centos1 ~]# yum -y install pcre-devel zlib-devel
2.創(chuàng)建運(yùn)行用戶、組
[root@centos1 ~]# useradd -M -s /sbin/nologin nginx
3.編譯安裝nginx
啟用狀態(tài)統(tǒng)計(jì)模塊以支持狀態(tài)統(tǒng)計(jì),便于查看服務(wù)器的連接信息
[root@centos1 nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module(狀態(tài)統(tǒng)計(jì)模塊)
[root@centos1 nginx-1.6.2]# make&&make install
4.添加符號(hào)鏈接,以便通過(guò)nginx命令就可以調(diào)用nginx的主程序
[root@centos1 nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
2.啟動(dòng)和停止nginx
[root@centos1 nginx-1.6.2]# nginx
3.檢查nginx的監(jiān)聽端口,或通過(guò)瀏覽器訪問(wèn)
[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
[root@centos1 nginx-1.6.2]# killall -s HUP nginx
4.退出nginx
[root@centos1 nginx-1.6.2]# killall -s QUIT nginx
三、了解nginx的配置文件nginx.conf
說(shuō)明:nginx.conf文件包含三部分配置,分別是全局配置、I/O事件配置和HTTP配置
1.全局配置
#user nobody; //運(yùn)行用戶 默認(rèn)為nobody
worker_processes 1; //工作的進(jìn)程數(shù)量,可以根據(jù)cpu核心總數(shù)來(lái)指定工作進(jìn)程數(shù)
#error_log logs/error.log;//錯(cuò)誤日志文件的位置
#pid logs/nginx.pid; //PID文件的位置
2.I/O事件配置
events {
use epoll //使用epoll模型
worker_connections 4096;每個(gè)進(jìn)程處理4096個(gè)進(jìn)程連接
}
nginx服務(wù)提供的連接數(shù)為工作的進(jìn)程數(shù)x每個(gè)進(jìn)程提供的連接數(shù)
3.HTTP配置,用于完成web站點(diǎn)的設(shè)置
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;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /status{ //訪問(wèn)位置為/status
stub_status on;//打開狀態(tài)統(tǒng)計(jì)功能
access_log off;//關(guān)閉此位置的日志記錄
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
4.修改完配置文件后,重新加載下配置文件
[root@centos1 nginx-1.6.2]# killall -s HUP nginx
四、構(gòu)建基于域名的虛擬web主機(jī)
1.準(zhǔn)備網(wǎng)站目錄以及測(cè)試文件
[root@centos1 nginx-1.6.2]# mkdir -p /var/www/benet
[root@centos1 nginx-1.6.2]# echo "
[root@centos1 nginx-1.6.2]# mkdir -p /var/www/accp
2.[root@centos1 nginx-1.6.2]# echo "
虛擬主機(jī)配置在server{}區(qū)域中,每個(gè)server{}區(qū)域代表一個(gè)web站點(diǎn)配置,指定各自網(wǎng)站名稱、監(jiān)聽地址、網(wǎng)站根目錄、訪問(wèn)日志等信息,然后重新加載配置
省略部分內(nèi)容
{
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 offm;
}
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.測(cè)試
五、構(gòu)建LNMP架構(gòu)及應(yīng)用部署
1.安裝MySQL數(shù)據(jù)庫(kù)(略,直接啟動(dòng)mysql服務(wù)器)
2.安裝php解析環(huán)境
說(shuō)明:較新保本(如5.3)php已經(jīng)自帶FPM(fastCGI Process Manager FastCGI進(jìn)程管理器)模塊,用來(lái)對(duì)php解析實(shí)例進(jìn)行管理、優(yōu)化解析效率。需要啟用--enable-fpm以啟用此模塊
(1)編譯安裝php
[root@centos1 ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel
[root@centos1~]#cd /usr/src/php-5.3.28
[root@centos1 php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib
[root@centos1 php-5.3.28]#make &&make install
(2)安裝后的調(diào)整
[root@centos1 php-5.3.28]# cp php.ini-development /usr/local/php5/php.ini
[root@centos1 php-5.3.28]# ln -s /usr/local/php5/bin/* /usr/local/bin
[root@centos1 php-5.3.28]# ln -s /usr/local/php5/sbin/* /usr/local/sbin
[root@centos1 php-5.3.28]#
3.配置nginx支持php環(huán)境
有兩種讓nginx支持php的方法
l 充當(dāng)中介,將訪問(wèn)php頁(yè)面的web請(qǐng)求轉(zhuǎn)交給其他的服務(wù)器(lamp)去處理
l 通過(guò)使用php的FPM模塊來(lái)調(diào)用本機(jī)的php環(huán)境
(1)啟用php-fpm進(jìn)程
[root@centos1 vod]# useradd -M -s /sbin/nologin php
①修改php-fpm.conf配置文件修改相關(guān)參數(shù),然后啟動(dòng)php-fpm進(jìn)程,php-fpm默認(rèn)監(jiān)聽本機(jī)的9000端口
pid = run/php-fpm.pid //確認(rèn)pid文件的位置
user = php //運(yùn)行用戶
group = php//運(yùn)行組
pm.start_servers = 20//啟動(dòng)時(shí)開啟的進(jìn)程數(shù)
pm.min_spare_servers = 5//最小空閑進(jìn)程數(shù)
pm.max_spare_servers = 35 //最大空閑進(jìn)程數(shù)
pm.max_children = 50//最大子進(jìn)程數(shù)
②啟動(dòng)php-fpm
[root@centos1 etc]# /usr/local/sbin/php-fpm
(2)配置nginx:完全支持php解析
說(shuō)明:無(wú)論使用哪一種解析方式都需要server中進(jìn)行配置
[root@centos1 Desktop]# vim /usr/local/nginx/conf/nginx.conf
..........
server {
listen 80;
server_name www.lxf.com;
charset utf-8;
access_log logs/vod.access.log main;
location / {
root /var/www/lxf;
index index.html index.php;
}
location ~ \.php$ {//訪問(wèn).php頁(yè)面的配置段
root /var/www/lxf;//php頁(yè)面的根目錄
fastcgi_pass 127.0.0.1:9000; //php-fpm監(jiān)聽地址
fastcgi_index index.php;//php首頁(yè)名稱
include fastcgi.conf;//fastcgi模塊配置
}
}
}
[root@centos1 vod]# killall -s QUIT nginx
[root@centos1 vod]# nginx
3)php頁(yè)面訪問(wèn)測(cè)試
l [root@centos1 vod]# mysqladmin -u root -p password '123456'
l #service mysqld start //啟動(dòng)數(shù)據(jù)庫(kù)
l 在/var/www/lxf下創(chuàng)建一個(gè)測(cè)試頁(yè)面test.php
vim /var/www/lxf/test.php
$link=mysql_connect('localhost','root','pwd123');
if ($link) echo "
mysql_close();
?>
驗(yàn)證:
六、LNMP平臺(tái)的應(yīng)用--部署天空網(wǎng)絡(luò)電影系統(tǒng)
1.下載并部署程序代碼
[root@centos1 ~]# unzip 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/lxf/skyuc
[root@centos1 SKYUC.v3.4.2.SOURCE]# cd /var/www/vlxf/skyuc/
[root@centos1 skyuc]# chown -R php:php admincp/ data/ templates/ upload/
[root@centos1 skyuc]#
2.創(chuàng)建數(shù)據(jù)庫(kù)
為了降低web應(yīng)用程序?qū)?shù)據(jù)庫(kù)的風(fēng)險(xiǎn),建議設(shè)置專用的數(shù)據(jù)庫(kù)以及授權(quán)用戶[root@centos1 skyuc]# mysql -u root -p
mysql> create database skyucdb;
mysql> grant all on skyucdb.* to runskyuc@localhost identified by 'sky@uc123';
驗(yàn)證: