a毛片毛费观看-a毛片在线-a毛片在线观看-a毛片在线免费观看-国产成人综合洲欧美在线-国产成人综合高清在线观看

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

CentOS 5.6(X64)下編譯安裝LNMP平臺(Nginx1.0.4+PHP5.3.6+Mys

發布時間:  2012/6/23 17:38:52

系統環境:centos 5.6(x64)+Nginx 1.0.4+Mysql 5.5.12 + PHP 5.3.6

軟件包存放位置 /usr/local/src/websoft

###########本文另附配置文檔,配置文檔在附件里#################

 

Nginx(發音同 engine x)是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,并在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev所開發,最初供俄國大型的入口網站及搜尋引擎Rambler(俄文:Рамблер)使用。  其特點是占有內存少,并發能力強,事實上nginx的并發能力確實在同類型的網頁伺服器中表現較好.目前中國大陸使用nginx網站用戶有:新浪、網易、 騰訊,另外知名的微網志Plurk也使用nginx。

 

總體來說nginx的有以下八大優點:

1.高并發連接:官方測試能支撐5萬并發連接,在實際生產環境中跑到2,~3W并發連接。

2.內存消耗少:在3W并發連接下,開啟的10個NGINX進程才消耗150M內存(15M*10=150M)

3.配置文件非常簡單:風格跟程序一樣通俗易懂。

4.成本低廉:Nginx作為開源軟件,可以免費使用,而購買F5 BIG-IP、NetScaler

等硬件負載均衡交換機則需要十多萬至幾十萬人民幣。

5.支持rewrite重寫規則:能夠根據域名、URL的不同,將HTTP請求分發到不同的后端服務器群組。

6.內置的健康檢查功能:如果Nginx Proxy后端的后臺web服務器宕機了,不會音響前端訪問。

7.節省帶寬:支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭。

8.穩定性高:用于反向代理,宕機的概率微乎其微。

 

客戶端在訪問動態頁面時,因為apache和nginx只能提供靜態解析,這是他們通過內置的cgi接口去尋找php等腳本語言,當需要用到數據部分時PHP會去調用后臺MYSQL數據庫中的數據,之后通過解析生成靜態頁面在返回apache/nginx服務器,再由此交付給客戶端。那么nginx如何調用php提供動態php格式的網頁,那么就通過FastCGI來實現,后面安裝php的時候會講解

 

1、首先安裝編譯所需要的庫文件和編譯環境,這里我用的光盤的yum源

yum -y install gcc openssl-devel zlib-devel pcre-devel libjpeg-devel libpng-devel libtool-ltdl-devel 

yum groupinstall "Development Tools" "Development Libraries" -y

 

2、下載源碼包

#cd  /usr/local/src/websoft

#vim download.txt    //拷貝下面的內容到文件里

wget http://www.nginx.org/download/nginx-1.0.4.tar.gz

wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz

wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.12.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0

wget ttp://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&big_mirror=0

wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&big_mirror=0

wget wget http://cn.php.net/get/php-5.3.6.tar.gz/from/this/mirror

wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2

wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz

 

#wget -i download.txt  //下載這些軟件包

 

 

3、Nginx 安裝

useradd -s /sbin/nologin -M nginx

cd /usr/local/src/websoft

tar zxvf nginx-1.0.4.tar.gz

cd nginx-1.0.4/

./configure --user=nginx --group=nginx \

--prefix=/usr/local/webserver/nginx  \

--sbin-path=/usr/sbin/nginx \

--conf-path=/etc/nginx/nginx.conf \

--with-http_stub_status_module  \

--with-http_ssl_module \

--without-http_rewrite_module \

 --lock-path=/var/lock/nginx.lock \

--pid-path=/var/run/nginx/nginx.pid  \

--with-pcre  //這個一定要加,不加啟動nginxd會報錯

 

make && make install

 

 

vim /etc/init.d/nginxd/   //添加下面內容,讓nginx 支持service 啟動關閉

#!/bin/sh

#

# nginx - this script starts and stops the nginx daemon

#

# chkconfig:   - 85 15 

# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \

#               proxy and IMAP/POP3 proxy server

# processname: nginx

# config:      /etc/nginx/nginx.conf

# config:      /etc/sysconfig/nginx

# pidfile:     /var/run/nginx.pid

 

# Source function library.

. /etc/rc.d/init.d/functions

 

# Source networking configuration.

. /etc/sysconfig/network

 

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0

 

nginx="/usr/sbin/nginx"

prog=$(basename $nginx)

 

NGINX_CONF_FILE="/etc/nginx/nginx.conf"

 

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

 

lockfile=/var/lock/subsys/nginx

 

make_dirs() {

   # make required directories

   user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`

   options=`$nginx -V 2>&1 | grep 'configure arguments:'`

   for opt in $options; do

       if [ `echo $opt | grep '.*-temp-path'` ]; then

           value=`echo $opt | cut -d "=" -f 2`

           if [ ! -d "$value" ]; then

               # echo "creating" $value

               mkdir -p $value && chown -R $user $value

           fi

       fi

   done

}

 

start() {

    [ -x $nginx ] || exit 5

    [ -f $NGINX_CONF_FILE ] || exit 6

    make_dirs

    echo -n $"Starting $prog: "

    daemon $nginx -c $NGINX_CONF_FILE

    retval=$?

    echo

    [ $retval -eq 0 ] && touch $lockfile

    return $retval

}

 

stop() {

    echo -n $"Stopping $prog: "

    killproc $prog -QUIT

    retval=$?

    echo

    [ $retval -eq 0 ] && rm -f $lockfile

    return $retval

}

 

restart() {

    configtest || return $?

    stop

    sleep 1

    start

}

 

reload() {

    configtest || return $?

    echo -n $"Reloading $prog: "

    killproc $nginx -HUP

    RETVAL=$?

    echo

}

 

force_reload() {

    restart

}

 

configtest() {

  $nginx -t -c $NGINX_CONF_FILE

}

 

rh_status() {

    status $prog

}

 

rh_status_q() {

    rh_status >/dev/null 2>&1

}

 

case "$1" in

    start)

        rh_status_q && exit 0

        $1

        ;;

    stop)

        rh_status_q || exit 0

        $1

        ;;

    restart|configtest)

        $1

        ;;

    reload)

        rh_status_q || exit 7

        $1

        ;;

    force-reload)

        force_reload

        ;;

    status)

        rh_status

        ;;

    condrestart|try-restart)

        rh_status_q || exit 0

            ;;

    *)

        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

        exit 2

esac

 

 

chmod +x /etc/init.d/nginxd

service nginxd start

chkconfig --add nginxd

chkconfig nginxd on

chkconfig --list nginxd

 

通過瀏覽器訪問服務器,出現welcome to nginx!表示成功

 

4、編譯安裝mysql

 編譯環境前提(mysql 5.5.x 不再用 configure,而用cmake)

 # yum -y install   gcc gcc-c++ make ncurses-devel        //安裝所需的軟件包

 #cd /usr/local/src/websoft

 #tar xvf  cmake-2.8.4.tar.gz

 # cd cmake-2.8.4

 # ./configure && make && make install

 

cd /usr/local/src/websoft

 # tar zxvf mysql-5.5.12.tar.gz

 # cd mysql-5.5.12

 # cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql \

         -DMYSQL_DATADIR=/data/mysql/ \

         -DWITH_MYISAM_STORAGE_ENGINE=1 \

         -DWITH_INNOBASE_STORAGE_ENGINE=1 \

         -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

         -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

         -DENABLED_LOCAL_INFILE=1 \

         -DDEFAULT_CHARSET=utf8 \

         -DDEFAULT_COLLATION=utf8_general_ci \

         -DEXTRA_CHARSETS=all \

         -DMYSQL_TCP_PORT=3306 

 

 

# make 

# make install

參數說明:

 -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql   //安裝目錄

 -DMYSQL_DATADIR=/data/mysql          //數據庫存放目錄

 -DWITH_MYISAM_STORAGE_ENGINE=1     //安裝myisam存儲引擎

 -DWITH_INNOBASE_STORAGE_ENGINE=1   //安裝innodb存儲引擎

 -DWITH_ARCHIVE_STORAGE_ENGINE=1     //安裝archive存儲引擎

 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 //安裝blackhole存儲引擎

 -DENABLED_LOCAL_INFILE=1             //允許從本地導入數據

 -DDEFAULT_CHARSET=utf8             //使用utf8字符

 -DDEFAULT_COLLATION=utf8_general_ci  //校驗字符

 -DEXTRA_CHARSETS=all               //安裝所有擴展字符集

 -DMYSQL_TCP_PORT=3306              //MySQL監聽端口

 

 

 

mysql 配置

 # groupadd -g 3306 mysql

 # useradd -u 3306 -g mysql -M -s /sbin/nologin mysql

 # mkdir /data/mysql/data

 # mkdir /data/mysql/log

 # chown -R mysql:mysql /data/mysql

 # chmod -R 755 /data/mysql

 # cp support-files/my-medium.cnf /etc/my.cnf

 #/usr/local/webserver/mysql/scripts/mysql_install_db  --user=mysql --basedir=/usr/local/webserver/mysql --datadir=/data/mysql &   //初始化數據庫

 

 # /usr/local/webserver/mysql/bin/mysqld_safe --user=mysql & 以mysql   //用戶啟動服務 

 

 # cp support-files/mysql.server /etc/init.d/mysqld

 # chmod +x /etc/init.d/mysqld

 # chkconfig --add mysqld

 # chkconfig  mysqld on

 

 # service mysqld restart

 # netstat -tnlp |grep 3306

 # cd /usr/local/bin //進入用戶的默認搜索路徑下建立mysql命令的軟連接,可以直接執行mysql命令

 # ln -s /usr/local/webserver/mysql/bin/mysql mysql

 # ln -s /usr/local/webserver/mysql/bin/mysqlduamp mysqldump

 # ln -s /usr/local/webserver/mysql/bin/mysqladmin mysqladmin

 # mysqladmin -u root -p password '123456'

 # mysql -u root -p

 # flush privileges;

 

vim /etc/my.cnf  //Mysql 優化,在[mysqld]配置參數下面添加下面幾行(大概37行下面)

innodb_file_per_table

log-bin-trust-function-creators=1

skip-name-resolv

innodb_flush_log_at_trx_commit=1

sync-binlog=1

lower_case_table_names=1

max_connections = 1500 (默認100)

 

修改配置文件里下面的參數,去掉前面的#

innodb_buffer_pool_size = 2048M (默認16M,可以為系統內存50%~70%)

innodb_additional_mem_pool_size = 256M (默認2M)

innodb_log_file_size = 512M    (默認5M,innodb_buffer_pool_size的四分之一)

max_allowed_packet = 500M

 

下面安裝幾個所需要的源碼包

########libiconv 加強系統對支持字符編碼轉換的功能########

cd /usr/local/src/websoft

tar xvf libiconv-1.13.1.tar.gz

cd libiconv

./configure --prefix=/usr/local/webserver

make

make install

 

####mcrypt是加密算法庫,PHP擴展mcrypt功能對此庫有依耐關系,要使用mcrypt必須先安裝此庫######

tar zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

 ./configure

make

make install

/sbin/ldconfig

 

######加密算法庫#########

tar zxvf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

/sbin/ldconfig

 ./configure

make

make install

 

###mhash是哈希函數,用來計算消息的校驗碼之類的###

tar zxvf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9

 ./configure

make

make install

 

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib //創建一個mysqlclient庫的軟連接,不創建在make 的時候會提示找不到這個文件

 

5、安裝PHP

php在編譯安裝時,nginx要想能夠調用php提供動態php格式的網頁,必須用FastCGI來實現,但FastCGI只是一個框架,實現FastCGI框架的有PHP-FPM,但對于5.2.x版本的php來說 默認是不支持PHP-FPM的,需要打上php-fpm的補丁,對于5.3.2之前版本的也是需要打補丁的,而且打補丁的過程比較麻煩。好在5.3.3版本的PHP-FPM被直接做進了源代碼包中,在編譯安裝時只需啟用PHP-FPM功能即可

加上 --enable-fpm 啟動fpm

 

cd /usr/local/src/websoft

tar xvf php-5.3.6.tar.gz

cd php-5.3.6

./configure --prefix=/usr/local/webserver/php \

--with-config-file-path=/usr/local/webserver/php/etc \

--with-mysql=/usr/local/webserver/mysql  \

--with-mysqli=/usr/local/webserver/mysql/bin/mysql_config \

--with-iconv-dir=/usr/local/webserver --with-freetype-dir \

--with-jpeg-dir --with-png-dir --with-zlib \

--with-libxml-dir=/usr --enable-xml --disable-rpath \

--enable-safe-mode --enable-bcmath \

--enable-shmop --enable-sysvsem \

--enable-inline-optimization --with-curl \

--with-curlwrappers \

--enable-mbregex  --enable-fpm \

--enable-mbstring --with-mcrypt --with-gd \

--enable-gd-native-ttf --with-openssl --with-mhash \

--enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl \

--with-xmlrpc --enable-zip --enable-soap \

--without-pear  --enable-fpm

 

make ZEND_EXTRA_LIBS='-liconv'  #因為-liconv的目錄不是在/usr/local下所以安裝時需要手動指定

make install  

 

cp /usr/local/websoft/php-5.3.6/php.ini-production 

/usr/local/webserver/php/etc/php.ini  //拷貝php配置文件

 

 

6、eaccelerator加速器(這個不是必須的,可以不安裝)

eaccelerator是一個自由開放源碼PHP加速器,優化和動態內容緩存,提高了性能php腳本的緩存性能,使得PHP腳本在編譯的狀態下,對服務器的開銷幾乎完全消除。 它還有對腳本起優化作用,以加快其執行效率。使您的PHP程序代碼執效率能提高1-10倍;

 

tar jxvf eaccelerator-0.9.6.1.tar.bz2

cd eaccelerator-0.9.6.1/

/usr/local/webserver/php/bin/phpize

 ./configure 

--enable-eaccelerator=shared --with-php-config=/usr/local/webserver/php/bin/php-config

make

make install

 

修改php.ini 配置文件

vim /usrl/local/webserver/php/etc/php.ini //修改extension_dir

extension_dir= /usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/"

 

配置eAccelerator加速PHP:

創建緩存存放目錄

mkdir -p /usr/local/webserver/eaccelerator_cache

chmod 777 /usr/local/eaccelerator_cache

建立存放日志的目錄

mkdir -p /usr/local/webserver/php/logs

 

vi /usr/local/webserver/php/etc/php.ini

按shift+g鍵跳到配置文件的最末尾,加上以下配置信息:

[eaccelerator]

  zend_extension="/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20090626/eaccelerator.so"

 eaccelerator.shm_size="64"

 eaccelerator.cache_dir="/usr/local/webserver/eaccelerator_cache"

 eaccelerator.enable="1"

 eaccelerator.optimizer="1"

 eaccelerator.check_mtime="1"

 eaccelerator.debug="0"

 eaccelerator.filter=""

 eaccelerator.shm_max="0"

 eaccelerator.shm_ttl="3600"

 eaccelerator.shm_prune_period="3600"

 eaccelerator.shm_only="0"

 eaccelerator.compress="1"

 eaccelerator.compress_level="9"

 

查看安裝是否成功:php -v

PHP 5.3.6 (cli) (built: Jun  8 2011 23:10:20) 

Copyright (c) 1997-2011 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator

 

 

全部安裝工作準備已經完成,剩下進行一些配置.

vim /usr/local/php/etc/php-fpm.conf   ##首先修改下面來配置修改

該配置文件只用修改以下四點只需要把藍色部分前面的注釋去掉

 

; Note: Used when pm is set to either 'static' or 'dynamic' 

 ; Note: This value is mandatory.

 

pm.max_children = 50

 

; The number of child processes created on startup.

 ; Note: Used only when pm is set to 'dynamic'

 ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2

 

pm.start_servers = 10

 

; The desired minimum number of idle server processes. 

 ; Note: Used only when pm is set to 'dynamic'

 ; Note: Mandatory when pm is set to 'dynamic'

 

pm.min_spare_servers = 5

 

; The desired maximum number of idle server processes.

 ; Note: Used only when pm is set to 'dynamic'

 ; Note: Mandatory when pm is set to 'dynamic'

 

pm.max_spare_servers = 35

 

修改完成,試著啟動

 

#/usr/local/webserver/php/sbin/php-fpm &   

 

啟動后用netstat -tnlp   //查看如果有如圖所示端口 如果有表示正常啟動

 

 

如需要開機自動啟動 則可以添加到/etc/rc.d/rc.local中

 

vim /etc/rc.d/rc.local

 

在空白行添加   /usr/local/webserver/php/sbin/php-fpm &  

 

 

vim /etc/nginx/nginx.conf  //下面就是最后修改nginx.conf配置文件

 

user nginx                   //修改ngin守護進程的用戶

worker_processes  4;         //工作進程數,一般與 CPU 核數等同,但實際的可以多一些

error_log logs/error.log;       //錯誤日志位置

 

 

events {

    worker_connections  2048;#每個工作進程允許最大的同時連接數,可以稍微大一些,1024的倍數

}

 

 

gzip  on;

server {

        listen       80;

        server_name  192.168.175.208;   //服務器地址

 

找到

 

        location ~ \.php$ {

             root           html;

             fastcgi_pass   127.0.0.1:9000;

             fastcgi_index  index.php;

             fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

             include        fastcgi_params;

         }

 

把前面注釋全部去掉 root后面的路徑是你網頁文件所放置的路徑, 該目錄如果不存在的話還需要手動創建。

找到

 

  location / {

             root   /html;

             index  index.php index.html index.htm;

         }

 

修改為如上所示 主要是添加index  后面的index.php

修改完成后保存退出,重新啟動nginx服務

 

service nginxd restart 

 

vim /usr/local/webserver/nginx/html/index.php  //編輯測試文件在其中添加

 

<?php

 phpinfo();

 ?>

 

保存退出

 

之后用web瀏覽器訪問 如果出現php信息頁面 表示服務成功,

 

下面是測試msql 的連接 

把剛才/usr/local/webserver/nginx/html/index.php中的內容修改成

 

<?php

 $link=mysql_connect("localhost","root","123456");

 if(!$link) echo "FAILD!";

 else echo "OK!";

 ?>

 

然后刷新web頁面,如果出現OK!字樣 測表示正常連接

 

 

 

優化Linux內核參數

#vi /etc/sysctl.conf 在/etc/sysctl.conf末尾增加以下內容(可根據服務器實際情況進行調整),在文件最后添加下面的內容

 net.ipv4.tcp_max_syn_backlog = 65536       

 net.core.netdev_max_backlog =  32768

 net.core.somaxconn = 32768

 

 net.core.wmem_default = 8388608

 net.core.rmem_default = 8388608

 net.core.rmem_max = 16777216

 net.core.wmem_max = 16777216

 

 net.ipv4.tcp_timestamps = 0

 net.ipv4.tcp_synack_retries = 2

 net.ipv4.tcp_syn_retries = 2

 

 net.ipv4.tcp_tw_recycle = 1

 net.ipv4.tcp_tw_reuse = 1

 

 net.ipv4.tcp_mem = 94500000 915000000 927000000

 net.ipv4.tcp_max_orphans = 3276800

 net.ipv4.ip_local_port_range = 1024  65535

#net.ipv4.ip_conntrack_max = 10000

 

保存退出

/sbin/sysctl -p

 

 

 

##############Linux內核優化參數說明##########################

 net.ipv4.tcp_max_syn_backlog = 65536    

#記錄的那些尚未收到客戶端確認信息的連接請求的最大值

 net.core.netdev_max_backlog =  32768

 

#每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目。

 net.core.somaxconn = 32768

 

#listen()的默認參數,掛起請求的最大數量.默認是128.對繁忙的服務器,增加該值有助于網絡性能.

 net.core.wmem_default = 8388608

 

#該參數指定了發送套接字緩沖區大小的缺省值(以字節為單位

 net.core.rmem_default = 8388608

 

該參數指定了接收套接字緩沖區大小的缺省值(以字節為單位) 

 net.core.rmem_max = 16777216

 

#該參數指定了接收套接字緩沖區大小的最大值(以字節為單位) 

 net.core.wmem_max = 16777216

 

#該參數指定了發送套接字緩沖區大小的最大值(以字節為單位) 

 net.ipv4.tcp_timestamps = 0

 

#時間戳可以避免序列號的卷繞。一個1Gbps的鏈路肯定會遇到以前用過的序列號。時間戳能夠讓內核接受這種“異常”的數據包。這里需要將其關掉。

 net.ipv4.tcp_synack_retries = 2

#為了打開對端的連接,內核需要發送一個SYN并附帶一個回應前面一個SYN的ACK。也就是所謂三次握手中的第二次握手。這個設置決定了內核放棄連接之前發送SYN+ACK包的數量。

 net.ipv4.tcp_syn_retries = 2

#在內核放棄建立連接之前發送SYN包的數量。

 net.ipv4.tcp_tw_recycle = 1

#啟用timewait快速回收。

 net.ipv4.tcp_tw_reuse = 1

#開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接。

 net.ipv4.tcp_mem = 94500000 915000000 927000000

 

同樣有3個值,意思是: 

net.ipv4.tcp_mem[0]:低于此值,TCP沒有內存壓力. 
net.ipv4.tcp_mem[1]:在此值下,進入內存壓力階段. 
net.ipv4.tcp_mem[2]:高于此值,TCP拒絕分配socket. 
上述內存單位是頁,而不是字節

net.ipv4.tcp_max_orphans = 3276800  

 

#系統所能處理不屬于任何進程的TCP sockets最大數量。假如超過這個數量﹐那么不屬于任何進程的連接會被立即reset,并同時顯示警告信息。之所以要設定這個限制﹐純粹為了抵御那些簡單的DoS攻擊﹐千萬不要依賴這個或是人為的降低這個限制 

 net.ipv4.ip_local_port_range = 1024  65535

#允許系統打開的端口范圍。

    #net.ipv4.ip_conntrack_max = 10000

#設置系統對最大跟蹤的TCP連接數的限制(CentOS 5.6無此參數) 

 

#####################################################################

編寫每天定時切割Nginx日志的腳本使用系統的logrotate 工具來回滾日志:

logrotate 程序是一個日志文件管理工具。用來把舊的日志文件刪除,并創建新的日志文件,我們把它叫做“轉儲”。我們可以根據日志文件的大小,也可以根據其天數來轉儲,這個過程一般通過 cron 程序來執行。

logrotate 程序還可以用于壓縮日志文件,以及發送日志到指定的E-mai

#vim /etc/logrotate/nginx    //在/etc/logrotate.d/下建立一腳本文件nginx,內容為:

/usr/local/webserver/nginx/logs/*log {

 missingok

  rotate 10

  daily

 notifempty

 sharedscripts

 postrotate

     /bin/kill -HUP `cat /var/run/nginx/nginx.pid 2>/dev/null` 2> /dev/null || true

 endscript

}

 

保存退出

生成日志的格式為:access_log.1 access_log.2 error_log.3 ......

 

                            error_log.1 error_log.2 error_log.3 ........

 

 

 

用Webbench進行簡單的壓力測試

   Webbench是有名的網站壓力測試工具。Webbench支持多平臺,FreeBSD、Linux、Windows都可以使用。Webbench最多可以模擬3萬個并發連接去測試網站的負載能力。

 

cd /usr/local/src/websoft

tar xvf webbench-1.5.tar.gz

cd webbench-1.5

make && make install


本文出自:億恩科技【www.ibaoshan.net】

如需要開機自動啟動 則可以添加到/etc/rc.d/rc.local中

 

vim /etc/rc.d/rc.local

 

在空白行添加   /usr/local/webserver/php/sbin/php-fpm &  

 

 

vim /etc/nginx/nginx.conf  //下面就是最后修改nginx.conf配置文件

 

user nginx                   //修改ngin守護進程的用戶

worker_processes  4;         //工作進程數,一般與 CPU 核數等同,但實際的可以多一些

error_log logs/error.log;       //錯誤日志位置

 

 

events {

    worker_connections  2048;#每個工作進程允許最大的同時連接數,可以稍微大一些,1024的倍數

}

 

 

gzip  on;

server {

        listen       80;

        server_name  192.168.175.208;   //服務器地址

 

找到

 

        location ~ \.php$ {

             root           html;

             fastcgi_pass   127.0.0.1:9000;

             fastcgi_index  index.php;

             fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

             include        fastcgi_params;

         }

 

把前面注釋全部去掉 root后面的路徑是你網頁文件所放置的路徑, 該目錄如果不存在的話還需要手動創建。

找到

 

  location / {

             root   /html;

             index  index.php index.html index.htm;

         }

 

修改為如上所示 主要是添加index  后面的index.php

修改完成后保存退出,重新啟動nginx服務

 

service nginxd restart 

 

vim /usr/local/webserver/nginx/html/index.php  //編輯測試文件在其中添加

 

<?php

 phpinfo();

 ?>

 

保存退出

 

之后用web瀏覽器訪問 如果出現php信息頁面 表示服務成功,

 

下面是測試msql 的連接 

把剛才/usr/local/webserver/nginx/html/index.php中的內容修改成

 

<?php

 $link=mysql_connect("localhost","root","123456");

 if(!$link) echo "FAILD!";

 else echo "OK!";

 ?>

 

然后刷新web頁面,如果出現OK!字樣 測表示正常連接

 

 

 

優化Linux內核參數

#vi /etc/sysctl.conf 在/etc/sysctl.conf末尾增加以下內容(可根據服務器實際情況進行調整),在文件最后添加下面的內容

 net.ipv4.tcp_max_syn_backlog = 65536       

 net.core.netdev_max_backlog =  32768

 net.core.somaxconn = 32768

 

 net.core.wmem_default = 8388608

 net.core.rmem_default = 8388608

 net.core.rmem_max = 16777216

 net.core.wmem_max = 16777216

 

 net.ipv4.tcp_timestamps = 0

 net.ipv4.tcp_synack_retries = 2

 net.ipv4.tcp_syn_retries = 2

 

 net.ipv4.tcp_tw_recycle = 1

 net.ipv4.tcp_tw_reuse = 1

 

 net.ipv4.tcp_mem = 94500000 915000000 927000000

 net.ipv4.tcp_max_orphans = 3276800

 net.ipv4.ip_local_port_range = 1024  65535

#net.ipv4.ip_conntrack_max = 10000

 

保存退出

/sbin/sysctl -p

 

 

 

##############Linux內核優化參數說明##########################

 net.ipv4.tcp_max_syn_backlog = 65536    

#記錄的那些尚未收到客戶端確認信息的連接請求的最大值

 net.core.netdev_max_backlog =  32768

 

#每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目。

 net.core.somaxconn = 32768

 

#listen()的默認參數,掛起請求的最大數量.默認是128.對繁忙的服務器,增加該值有助于網絡性能.

 net.core.wmem_default = 8388608

 

#該參數指定了發送套接字緩沖區大小的缺省值(以字節為單位

 net.core.rmem_default = 8388608

 

該參數指定了接收套接字緩沖區大小的缺省值(以字節為單位) 

 net.core.rmem_max = 16777216

 

#該參數指定了接收套接字緩沖區大小的最大值(以字節為單位) 

 net.core.wmem_max = 16777216

 

#該參數指定了發送套接字緩沖區大小的最大值(以字節為單位) 

 net.ipv4.tcp_timestamps = 0

 

#時間戳可以避免序列號的卷繞。一個1Gbps的鏈路肯定會遇到以前用過的序列號。時間戳能夠讓內核接受這種“異常”的數據包。這里需要將其關掉。

 net.ipv4.tcp_synack_retries = 2

#為了打開對端的連接,內核需要發送一個SYN并附帶一個回應前面一個SYN的ACK。也就是所謂三次握手中的第二次握手。這個設置決定了內核放棄連接之前發送SYN+ACK包的數量。

 net.ipv4.tcp_syn_retries = 2

#在內核放棄建立連接之前發送SYN包的數量。

 net.ipv4.tcp_tw_recycle = 1

#啟用timewait快速回收。

 net.ipv4.tcp_tw_reuse = 1

#開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接。

 net.ipv4.tcp_mem = 94500000 915000000 927000000

 

同樣有3個值,意思是: 

net.ipv4.tcp_mem[0]:低于此值,TCP沒有內存壓力. 
net.ipv4.tcp_mem[1]:在此值下,進入內存壓力階段. 
net.ipv4.tcp_mem[2]:高于此值,TCP拒絕分配socket. 
上述內存單位是頁,而不是字節

net.ipv4.tcp_max_orphans = 3276800  

 

#系統所能處理不屬于任何進程的TCP sockets最大數量。假如超過這個數量﹐那么不屬于任何進程的連接會被立即reset,并同時顯示警告信息。之所以要設定這個限制﹐純粹為了抵御那些簡單的DoS攻擊﹐千萬不要依賴這個或是人為的降低這個限制 

 net.ipv4.ip_local_port_range = 1024  65535

#允許系統打開的端口范圍。

    #net.ipv4.ip_conntrack_max = 10000

#設置系統對最大跟蹤的TCP連接數的限制(CentOS 5.6無此參數) 

 

#####################################################################

編寫每天定時切割Nginx日志的腳本使用系統的logrotate 工具來回滾日志:

logrotate 程序是一個日志文件管理工具。用來把舊的日志文件刪除,并創建新的日志文件,我們把它叫做“轉儲”。我們可以根據日志文件的大小,也可以根據其天數來轉儲,這個過程一般通過 cron 程序來執行。

logrotate 程序還可以用于壓縮日志文件,以及發送日志到指定的E-mai

#vim /etc/logrotate/nginx    //在/etc/logrotate.d/下建立一腳本文件nginx,內容為:

/usr/local/webserver/nginx/logs/*log {

 missingok

  rotate 10

  daily

 notifempty

 sharedscripts

 postrotate

     /bin/kill -HUP `cat /var/run/nginx/nginx.pid 2>/dev/null` 2> /dev/null || true

 endscript

}

 

保存退出

生成日志的格式為:access_log.1 access_log.2 error_log.3 ......

 

                            error_log.1 error_log.2 error_log.3 ........

 

 

 

用Webbench進行簡單的壓力測試

   Webbench是有名的網站壓力測試工具。Webbench支持多平臺,FreeBSD、Linux、Windows都可以使用。Webbench最多可以模擬3萬個并發連接去測試網站的負載能力。

 

cd /usr/local/src/websoft

tar xvf webbench-1.5.tar.gz

cd webbench-1.5

make && make install


本文出自:億恩科技【www.enidc.com】
-->

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線

     
     
    黑人性狂欢在线播放| 丰满年经的继拇6| 麻花传媒MD0076沈芯语在线| ZOZ○ZO女人和另类ZOZ0| 午夜美女裸体福利视频| でも私はあなたより賢いです意思| 铜铜铜铜铜铜铜铜铜好大好深色| 久久久久亚洲AV片无码| 拔萝卜视频免费观看高清下载| 无码加勒比一区二区三区四区| 久久久久精品日韩久久久| 超碰97人人做人人爱2020| 亚洲AV之男人的天堂网站| 欧美男女一进一出| 国产欧美日韩专区发布| 中文字幕人妻高清乱码| 天天摸天天碰天天添| 久久久国产一区二区三区| 成人爽A毛片在线视频淮北| 亚洲另类无码专区首页| 日本XXXⅩ色视频免费观看| FREESEX欧美喷水| 无码精品人妻一区二区三区免费看| 久久综合给合久久狠狠狠88| 东欧av性无码高清| 亚洲中文字幕无码中字| 日日狠狠久久偷偷色综合96| 久久精品国产成人AV| 大乳BOOBS巨大吃奶| 亚洲无日韩码精品| 日韩AV无码久久一区二区| 精品深夜AV无码一区二区| BT天堂新版中文在线地址| 亚洲AV成人网站在线观看| 欧美乱码伦视频免费| 国精产品一二二区传媒有哪些 | 亚洲AV秘 无码一区二黑人| 女儿国在线观看免费版高清| 国产精品美女久久久免费| 23部禽女乱小说内| 五月丁香色综合久久4438| 年轻漂亮的人妻被公侵犯BD免费版| 国产美女裸体无遮挡免费视频| 97大学生情侣真实露脸在线| 五月丁香色综合久久4438| 女人被弄高潮视频免费| 国产日产欧产精品| YELLOW在线观看| 亚洲人成国产精品无码果冻| 人人妻人人澡人人爽欧美精品 | 狠狠综合久久久久尤物丿| 宝贝这里没人给我好吗| 亚洲精品成人无码中文毛片不卡| 日韩AⅤ无码大片无码片| 久久久久亚洲AV无码成人片麻豆| 国产AV激情久久无码天堂| 亚洲AⅤ永久无码精品毛片| 欧美人妻精品一区二区| 娇小6一8XXXXX| 77777_亚洲午夜久久多人| 性生生活30分钟免费| 欧美性狂猛XXXXX深喉| 黑人大战中国AV女叫惨了| 成人小说亚洲一区二区三区| 永久免费啪啪的网站入口| 人妻系列AV无码专区| 久久精品熟女亚洲AV噜噜| 国产成人人综合亚洲欧美丁香花 | 国模小黎大尺度精品(02)[| AV无码久久久久不卡免费网站| 亚洲色大成网站WWW永久一区| 无码AV蜜臀AⅤ色欲在线观看| 欧美疯狂做受XXXX| 久久99热狠狠色精品一区| 国产精品爽黄69天堂A| 尝到了甜头两人每天都会想方设法| 中文字幕丰满乱子伦无码专区| 亚洲国产欧美一区二区三区 | 无码人妻精品一区二区三区蜜桃91| 强壮公把我一次次弄上高潮| 巨大黑人XXXXX高潮后处理| 果冻传媒董小宛一区二区| 国产98在线 | 传媒麻豆| FREEXX性黑人大战欧美| 野花ぶるだいあり~しすWWW| 亚洲AⅤ天堂AV天堂无码麻豆 | 中文乱码人妻一区二区三区视频| 亚洲av无码一区二区三区dv| 少妇做爰免费视频网站| 欧美日韩午夜群交多人轮换| 久久久久蜜桃精品成人片| 国精产品一区二区三区| 国产SUV精品一区二区33| 波多野结衣AⅤ无码一区| 中文无码精品A∨在线观看不卡| 亚洲精品无码少妇30P| 亚州中文字幕午夜福利电影| 四虎国产成人永久精品免费| 日本WWW一道久久久免费| 欧美日韩免费专区在线| 免费AV一区二区三区| 久久久国产精品亚洲一区| 狠狠干2015最新版| 国产日产高清欧美一区| 国产成人AV在线影院| 草草影院CCYYCOM| 99久久伊人精品综合观看| 永久免费AⅤ无码网站国产| 亚洲乱码无码永久不卡在线| 午夜精品一区二区三区在线视| 少妇人妻精品一区二区| 人与牲动ZZZXXXⅩ0000| 欧美黑人XXXX| 免费无码VA一区二区三区| 久久理伦片琪琪电影院| 精品久久久久久天美传媒 | 精品无码人妻一区二区三区| 国产在线乱子伦一区二区| 国产精品青草久久福利不卡| 敌伦交换第21部分正文内容| 八戒八戒神马影院在线观看5 | 天堂8在线新版官网| 色99久久久久高潮综合影院| 人妻熟妇久久久久久精品无码专区| 欧美VPSWINDOWS极品| 免费观看高清日本AⅤ| 老熟妇一区二区三区啪啪| 久久99国产亚洲高清观看首页| 黑人巨鞭大战丰满少妇| 国产尤物AV尤物在线观看| 国产裸模视频免费区无码| 国产成人一区二区三区免费| 公么大龟弄得我好舒服第一| 粗大的内捧猛烈进出少妇| YW尤物AV无码| GRANSREMEDY老太太| 99久久亚洲综合精品成人| 91人妻人人妻人人爽人人精品| 中英文字幕乱码英文正常| 中国JAPANESEXXXX少| 越看越湿的啪啪的小说免费| 一二三四在线观看免费高清视频| 亚洲一区精品无码| 亚洲熟妇人妻系列| 亚洲综合久久成人AV| 亚洲日韩乱码1区二区| 亚洲乱码卡1卡2新区3| 亚洲乱码无码永久不卡在线| 亚洲精品~无码抽插| 亚洲国产精品嫩草影院久久| 亚洲国产精品无码中文字APP| 亚洲丰满性熟妇ⅩXXOOO| 亚洲成在人线AV品善网好看| 亚洲成AⅤ人在线观看无码 | 巨波霸乳在线永久免费视频| 久久人妻无码中文字幕 | 成 人 综合 亚洲另类| 被伴郎的内捧猛烈进出H| 宝贝把腿张开我要添你下边动态图 | 亚洲另类自拍丝袜第五页| 亚洲欧美V国产一区二区| 亚洲国产日韩A在线播放| 亚洲精品无码AV人在线观看| 亚洲乱码一区二区三区在线观看| 亚洲欧美国产国产一区二区| 亚洲日本一线产区二线区| 亚洲中字幕日产2021草莓| 一面亲上边一面膜| 中国女人内射6XXXXX| 中文字幕一区日韩精品 | 麻花传媒剧国产MV在线观看| 免费A级毛片AV无码| 免费A级毛片无码无遮挡| 内射老阿姨1区2区3区4区| 欧美成人精品1314www| 欧洲人妻丰满AV无码久久不卡| 日本VA欧美VA欧美VA精品| 日韩成人无码中文字幕| 色偷偷亚洲女人的天堂| 特黄AAAAAAAAA毛片免费 | 久久国产色AV免费看| 久久久久久精品免费免费英国| 久久亚洲精品成人AV无码涩涩屋| 麻豆传播媒体APP官网在线观看| 免费 成 人 黄 色 网站69| 欧美成人激情视频| 人妻AV无码系列一区二区三区| 日本强伦姧人妻一区二区| 色翁荡息又大又硬又粗又爽| 他揉捏她两乳不停呻吟人妻| 无码视频一区二区三区在线观看| 亚洲AⅤ日韩久久久久久| 亚洲精品乱码久久久久久自慰| 亚洲综合一区二区三区无码 | 人妻JapanXXXX精品HD| 日韩无码蜜桃视频| 四虎影库最新地址| 西西444WWW大胆无码视频| 亚洲成人免费av| 亚洲色欲综合天堂亚洲|