一、perl + mod_perl
安裝mod_perl使perl腳本速度快
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
[1] 安裝mod_perl # 從epel安裝 [root@linuxprobe ~] # yum --enablerepo=epel -y install mod_perl [2] 配置perlrun模式,總是將perl解釋器放在 ram 上。 [root@linuxprobe ~] # vi /etc/httpd/conf.d/perl.conf # line 15: 取消注釋 ( check codes and output warnings to logs ) perlswitches -w # line 24: 取消注釋 perlswitches -t # line 30-36: 取消注釋像下面一樣 alias /perl /var/www/perl <directory /var/www/perl > # the directory for mod_perl environment sethandler perl-script # processes files as perl-scripts under this directory # addhandler perl-script .cgi # set specific extension if do do not want to processes all files as cgi # perlresponsehandler modperl::registry perlresponsehandler modperl::perlrun # specify perlrun mode perloptions +parseheaders options +execcgi < /directory > # line 43-49: 取消注釋并添加如下信息 <location /perl-status > sethandler perl-script perlresponsehandler apache2::status require ip 127.0.0.1 10.1.1.1 /24 # add access permission # order deny,allow # deny from all # allow from .example.com < /location > [root@linuxprobe ~] # systemctl restart httpd [3] 創(chuàng)建測試腳本以確保設(shè)置不是ploblem。如果顯示如下所示的結(jié)果,就可以。 [root@linuxprobe ~] # mkdir /var/www/perl [root@linuxprobe ~] # vi /var/www/perl/test-mod_perl.cgi #!/usr/bin/perl use strict; use warnings; print "content-type: text/html\n\n" ; print "<html>\n<body>\n" ; print "<div style=\"width:100%; font-size:40px; font-weight:bold; text-align:center;\">" ; my $a = 0; &number(); print "</div>\n</body>\n</html>" ; sub number { $a++; print "number \$a = $a" ; } [root@linuxprobe ~] # chmod 705 /var/www/perl/test-mod_perl.cgi #客戶端瀏覽器訪問:http://linuxprobe.org/perl/test-mod_perl.cgi |
[4] 配置在ram上具有代碼緩存的注冊表模式
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@linuxprobe ~] # vi /etc/httpd/conf.d/perl.conf alias /perl /var/www/perl <directory /var/www/perl > sethandler perl-script perlresponsehandler modperl::registry # uncomment # perlresponsehandler modperl::perlrun # comment out perloptions +parseheaders options +execcgi < /directory > [root@linuxprobe ~] # systemctl restart httpd |
[5] 訪問作為[4]節(jié)的示例的測試腳本,然后變量通過重新加載而增加,因?yàn)樽兞勘桓咚倬彺嬖趓am上。所以有必要編輯注冊表模式的代碼,這里瀏覽器沒刷新一次,$a值加一。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[root@linuxprobe ~] # vi /var/www/perl/test-mod_perl.cgi #!/usr/bin/perl use strict; use warnings; print "content-type: text/html\n\n" ; print "<html>\n<body>\n" ; print "<div style=\"width:100%; font-size:40px; font-weight:bold; text-align:center;\">" ; my $a = 0; &number($a ); print "</div>\n</body>\n</html>" ; sub number { my($a) = @_; $a++; print "number \$a = $a" ; } |
[6]順便說一下,可以看到mod_perl的狀態(tài)來訪問“http://(主機(jī)名或ip地址)/ perl-status”。
二、php + php-fpm
安裝php-fpm使php腳本速度快
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[1]安裝php,請參考這里。 [2]安裝php-fpm。 [root@linuxprobe ~] # yum -y install php-fpm [3] 配置apache httpd。 [root@linuxprobe ~] # vi /etc/httpd/conf.d/php.conf # line 5: change like follows <filesmatch \.php$> # sethandler application /x-httpd-php sethandler "proxy:fcgi://127.0.0.1:9000" < /filesmatch > [root@linuxprobe ~] # systemctl start php-fpm [root@linuxprobe ~] # systemctl enable php-fpm [root@linuxprobe ~] # systemctl restart httpd [4]創(chuàng)建phpinfo并訪問它,然后如果“fpm / fastcgi”顯示,它是確定。 [root@linuxprobe ~] # echo '<?php phpinfo(); ?>' > /var/www/html/info.php |
三、python + mod_wsgi
安裝mod_wsgi(wsgi:web服務(wù)器網(wǎng)關(guān)接口),使python腳本更快
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[1] 安裝mod_wsgi . [root@linuxprobe ~] # yum -y install mod_wsgi [2] 例如,將mod_wsgi配置為可以訪問/ test_wsgi,后端是 /var/www/html/test_wsgi .py. [root@linuxprobe ~] # vi /etc/httpd/conf.d/wsgi.conf # create new wsgiscriptalias /test_wsgi /var/www/html/test_wsgi .py [root@linuxprobe ~] # systemctl restart httpd [3] 創(chuàng)建您在上面設(shè)置的測試腳本. [root@linuxprobe ~] # vi /var/www/html/test_wsgi.py # create new def application(environ,start_response): status = '200 ok' html = '<html>\n' \ '<body>\n' \ '<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">\n' \ 'mod_wsgi test page\n' \ '</div>\n' \ '</body>\n' \ '</html>\n' response_header = [( 'content-type' , 'text/html' )] start_response(status,response_header) return [html] |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[4]配置如果你使用django。 ([參考安裝django](http: //blog .csdn.net /wh211212/article/details/52992413 ))例如,在“wang”下?lián)碛械?ldquo; /home/wang/ venv /testproject ”下配置“testapp” [root@linuxprobe ~] # vi /etc/httpd/conf.d/django.conf # create new wsgidaemonprocess testapp python-path= /home/wang/venv/testproject : /home/wang/venv/lib/python2 .7 /site-packages wsgiprocessgroup testapp wsgiscriptalias /django /home/wang/venv/testproject/testproject/wsgi .py <directory /home/wang/venv/testproject > require all granted < /directory > [root@linuxprobe ~] # systemctl restart httpd |
四、訪問日志分析器:awstats
安裝awstats,它報(bào)告http日志以分析對http服務(wù)器的訪問。
[1] 安裝awstats。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# install from epel [root@linuxprobe ~] # yum --enablerepo=epel -y install awstats # awstats.(hostname).conf是自動生成的 [root@linuxprobe ~] # vi /etc/awstats/awstats.linuxprobe.org.conf # line 122: change # if your config for log format in httpd.conf is 'combined' set here '1' # if log-config is 'common' set here '4', but in this case, some informations can't be get (browser info and so on) logformat=1 # line 153: specify your hostname sitedomain="linuxprobe.org # line 168: set ip address you'd like to exclude hostaliases="localhost 127.0.0.1 regex[server\.world$] regex[^10\.1\.1\.] " [root@linuxprobe ~] # vi /etc/httpd/conf.d/awstats.conf # line 30: ip address you permit to access require ip 10.1.1.0 /24 [root@linuxprobe ~] # systemctl restart httpd # generate reports ( reports are updated for hourly by cron ) [root@linuxprobe ~] # /usr/share/awstats/linuxproberoot/cgi-bin/awstats.pl -config=linuxprobe.org -update create /update database for config "/etc/awstats/awstats.linuxprobe.org.conf" by awstats version 7.4 (build 20150714) from data in log file "/var/log/httpd/access_log" ... phase 1 : first bypass old records, searching new record... searching new records from beginning of log file ... phase 2 : now process new records (flush history on disk after 20000 hosts)... jumped lines in file : 0 parsed lines in file : 165 found 0 dropped records, found 0 comments, found 0 blank records, found 0 corrupted records, found 0 old records, found 165 new qualified records. |
[2]訪問“http://(您的服務(wù)器的名稱或ip地址/)/awstats/awstats.pl”,然后顯示以下屏幕,可以看到httpd日志報(bào)告。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://blog.csdn.net/wh211212/article/details/52994505