Показаны сообщения с ярлыком linux. Показать все сообщения
Показаны сообщения с ярлыком linux. Показать все сообщения

9 февраля 2012 г.

Всячина.

Для начальных линуксо-едов - http://magazine.redhat.com/2007/03/09/understanding-your-red-hat-enterprise-linux-daemons/
Кстати очень рекомендую именно RedHat-Centos-Fedora дистрибутивы.

Далее полезно для большого количества серверов:
http://projects.puppetlabs.com/projects/puppet
http://bitfieldconsulting.com/puppet-tutorial
http://bitfieldconsulting.com/taxonomy/term/9
и
http://cfengine.com/

Читал про Rackspace, вышел на https://my.rackspace.com/portal/auth/login?targetUri=%2Fhome - очень правильно и стильно оформлено. Реально круто.

Много всякого бесплатно-залимитированного софта для каждодневного админства - http://www.netwrix.com/ru/freeware_products.html

ERP-шное, SAP-овское.
http://www.sql.ru/forum/actualthread.aspx?tid=877876&hl=%e8%ed%f2%e5%e3%f0%e0%f6%e8%ff%20sap - интересная тема
http://www.codeproject.com/Articles/5251/Read-Tables-from-SAP-R-3-using-SAP-NET-Connector - хороший пример 1
http://www.codeproject.com/Articles/24161/Using-the-SAP-NET-Connector-to-Connect-your-NET-Ap - хороший пример 2
Правильно позиционирующие себя чуваки - http://www.rightstep.ru/
Полезный ресурс для многих - отличная вики http://www.tadviser.ru/

Уебки додумались так назвать домен - http://hantim.ru/

13 октября 2011 г.

Новый Ubuntu 11.10.

А мне понравился!
Красивый и в чем-то своеобразный.
http://www.opennet.ru/opennews/art.shtml?num=32030 - достаточно подробное описание новшеств.
http://habrahabr.ru/blogs/ubuntu/130310/ - камменты-камменты.
http://www.youtube.com/watch?v=dq4Oj5quskI - видео-обзор новинок, выглядит симпатично.

PS: неужели надо поставить и попробовать...

9 июня 2011 г.

Nginx+php+php-fpm

На днях попросили поставить связку веб-сервер + PHP. А php чтобы 5.2 ветки был. Условие - чтобы как можно легче и быстрее работал. Тюнингом пока не занимались - ждем нагрузки.
Коротко по каким инструкциям делал.
  • OS - fedora 14
  • Web-server - nginx
  • php - 5.2.17 + php-fpm
Доустановим для начала необходимые пакеты в базовую установку fedora 14.
yum install screenyum install mcyum install mcyum install httpd-develyum install libjpeg-develyum install libpng-develyum install freetype-develyum install libgnuintl.so.8
Скачиваем php, патч php-fpm разворачиваем архив в /usr/local/src (я так привык).
tar jvfz php-5.2.17.tar.bz2
cd php-5.2.17
Патчим php с помощью патча php-fpm (такие действия необходимы для php-5.2, php-5.3 стал из репозитариев без проблем с использованием yum)
patch -p1 < ../php-5.2.17-fpm-0.5.14.diff
Опции configure для php (у нас были некоторые требования и нет необходимости подключать дополнительные модули):

./configure  --with-gd --enable-gd-native-ttf --with-ttf --enable-safe-mode --enable-magic-quotes --with-gettext --with-zlib --with-curl --enable-soap --enable-sockets --with-openssl --enable-mbstring --with-gdbm --enable-fastcgi --enable-fpm --enable-dba --with-libdir=/usr/lib64 --enable-shared
Компилируем и устанавливаем:
make && make install
Выкинуло что куда поставило:
Installing PHP SAPI module:       cgi
Installing PHP CGI binary: /usr/local/bin/Installing FPM config:            /usr/local/etc/php-fpm.conf                                  (installing as php-fpm.conf.default)Installing init.d script:         /usr/local/sbin/php-fpmInstalling PHP CLI binary:        /usr/local/bin/Installing PHP CLI man page:      /usr/local/man/man1/Installing build environment:     /usr/local/lib/php/build/Installing header files:          /usr/local/include/php/Installing helper programs:       /usr/local/bin/  program: phpize  program: php-configInstalling man pages:             /usr/local/man/man1/  page: phpize.1  page: php-config.1Installing PEAR environment:      /usr/local/lib/php/[PEAR] Archive_Tar    - already installed: 1.3.7[PEAR] Console_Getopt - already installed: 1.2.3[PEAR] Structures_Graph- already installed: 1.0.3[PEAR] XML_Util       - already installed: 1.2.1[PEAR] PEAR           - already installed: 1.9.1Wrote PEAR system config file at: /usr/local/etc/pear.confYou may want to add: /usr/local/lib/php to your php.ini include_pathInstalling PDO headers:          /usr/local/include/php/ext/pdo/
Диффы конфига php-fpm: /usr/local/etc/php-fpm.conf
# diff php-fpm.conf php-fpm.conf.default
51,52c51,52
<                               nginx
<                               nginx
---
>                              
>                              
63c63
<                       nobody
---
>              
66c66
<                       nobody
---
>              
Конфиг nginx: /etc/nginx/nginx.conf
#######################################################################
#
# This is the main Nginx configuration file.
#
# More information about the configuration options is available on
#   * the English wiki - http://wiki.nginx.org/Main
#   * the Russian documentation - http://sysoev.ru/nginx/
#
#######################################################################

#----------------------------------------------------------------------
# Main Module - directives that cover basic functionality
#
#   http://wiki.nginx.org/NginxHttpMainModule
#
#----------------------------------------------------------------------

user              nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;


#----------------------------------------------------------------------
# Events Module
#
#   http://wiki.nginx.org/NginxHttpEventsModule
#
#----------------------------------------------------------------------

events {
    worker_connections  1024;
}


#----------------------------------------------------------------------
# HTTP Core Module
#
#   http://wiki.nginx.org/NginxHttpCoreModule
#
#----------------------------------------------------------------------

http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    #
    # The default server
    #
    server {
        listen       80;
        server_name  _;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page  404              /404.html;
        location = /404.html {
            root   /usr/share/nginx/html;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           /usr/share/nginx/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

    # Load config files from the /etc/nginx/conf.d directory
    include /etc/nginx/conf.d/*.conf;

}
Автостарт nginx:
chkconfig --levels 235 nginx on
/etc/init.d/nginx start
Автостарт php-fpm:

#cp /usr/local/sbin/php-fpm /etc/init.d/

#cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/etc/init.d/php-fpm start

Смотрим как все работает:

# ps axuu|egrep '(php|nginx)'root     12341  0.0  0.0 193368  3344 ?        Ss   Jun08   0:17 /usr/local/bin/php-cgi --fpm --fpm-config /usr/local/etc/php-fpm.confnobody   12342  0.0  0.0 193368  3708 ?        S    Jun08   0:00 /usr/local/bin/php-cgi --fpm --fpm-config /usr/local/etc/php-fpm.confnobody   12343  0.0  0.0 193368  4384 ?        S    Jun08   0:00 /usr/local/bin/php-cgi --fpm --fpm-config /usr/local/etc/php-fpm.confnobody   12344  0.0  0.0 193368  4384 ?        S    Jun08   0:00 /usr/local/bin/php-cgi --fpm --fpm-config /usr/local/etc/php-fpm.confnobody   12345  0.0  0.0 193368  4384 ?        S    Jun08   0:00 /usr/local/bin/php-cgi --fpm --fpm-config /usr/local/etc/php-fpm.confnobody   12346  0.0  0.0 193368  4384 ?        S    Jun08   0:00 /usr/local/bin/php-cgi --fpm --fpm-config /usr/local/etc/php-fpm.confroot     12914  0.0  0.0  98036  1796 ?        Ss   Jun08   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.confnginx    12915  0.0  0.0  98452  2980 ?        S    Jun08   0:00 nginx: worker process
# lsof -i|egrep '(php|nginx)'php-cgi  12341   root    6u  IPv4 590354      0t0  TCP localhost:cslistener (LISTEN)php-cgi  12342 nobody    0u  IPv4 590354      0t0  TCP localhost:cslistener (LISTEN)php-cgi  12343 nobody    0u  IPv4 590354      0t0  TCP localhost:cslistener (LISTEN)php-cgi  12344 nobody    0u  IPv4 590354      0t0  TCP localhost:cslistener (LISTEN)php-cgi  12345 nobody    0u  IPv4 590354      0t0  TCP localhost:cslistener (LISTEN)php-cgi  12346 nobody    0u  IPv4 590354      0t0  TCP localhost:cslistener (LISTEN)nginx    12914   root    6u  IPv4 592201      0t0  TCP *:http (LISTEN)nginx    12915  nginx    6u  IPv4 592201      0t0  TCP *:http (LISTEN)
# grep cslistener /etc/servicescslistener      9000/tcp                # CSlistenercslistener      9000/udp                # CSlistener

Вроде работает. Ждем нагрузки.



Ссылки:

http://www.if-not-true-then-false.com/2010/install-apache-php-on-fedora-centos-red-hat-rhel/

http://redhat-club.org/forum/viewtopic.php?id=6685 - CentOS 5.2/Fedora Nginx + php-fpm

http://hacktux.com/compile/php/fedora - compile php on fedora
http://php-fpm.org/wiki/Documentation - install php-fpm
http://groups.google.com/group/highload-php-ru - группа новостей по высоконагруженным решениям

10 июня 2010 г.

Нетстат и сокстат

У нас Firebird classic. То есть на каждого пользователя СУБД порождается процесс. Иногда надо выяснить, какой процесс от имени кого запущен. Производственный сервер работает на HP Proliant DL380 G5 сервере под управлением FreeBSD. Несколько команд с сервера:

9:58 yakuzzza@PROVIANT /home/yakuzzza> uname -a
FreeBSD PROVIANT.frunze.local 7.1-RELEASE-p4 FreeBSD 7.1-RELEASE-p4 #0: Wed Apr 15 07:21:00 EEST
2009 root@PROVIANT.frunze.local:/usr/obj/usr/src/sys/PROVIANT amd64

9:58 yakuzzza@PROVIANT /home/yakuzzza> uptime
9:58AM up 137 days, 19:20, 2 users, load averages: 0.80, 0.83, 0.89

9:58 yakuzzza@PROVIANT /home/yakuzzza> ps ax | grep fb_inet | wc -l
378

lagg0: flags=8843 metric 0 mtu 1500
options=1bb
ether 00:1f:29:e6:4d:b8
inet 10.4.100.223 netmask 0xffffff00 broadcast 10.4.100.255
inet 10.4.100.20 netmask 0xffffffff broadcast 10.4.100.20
media: Ethernet autoselect
status: active
laggproto failover
laggport: bce1 flags=0<>
laggport: bce0 flags=5

9:59 yakuzzza@PROVIANT /home/yakuzzza> top | head -5
last pid: 53170; load averages: 0.80, 0.76, 0.85 up 137+19:21:57 09:59:57
433 processes: 3 running, 430 sleeping

Mem: 5151M Active, 1876M Inact, 569M Wired, 315M Cache, 214M Buf, 5884K Free
Swap: 4096M Total, 242M Used, 3854M Free, 5% Inuse

10:00 yakuzzza@PROVIANT /home/yakuzzza> df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/da0s1a 989M 401M 509M 44% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/da1s1d 199G 98G 85G 54% /data
/dev/da0s1d 19G 4.3G 14G 24% /usr
/dev/da0s1e 42G 1.4G 37G 4% /var
backup1:/usr/ports 219G 113G 88G 56% /usr/ports
backup1:/usr/ports.distdir 219G 113G 88G 56% /usr/ports.distdir
backup1:/backup1/SRV/sql 902G 562G 268G 68% /backup

Сервер для разработчиков работает на Ubuntu 10.04 LTS. Так вот когда мы ищем машину и пользователя проблемного процесса мы на FreeBSD вводим простую команду:

sockstat -4|grep pid, где pid - номер процесса в ОС.

На linux сокстата нет. Поэтому надо пользоваться таким:

netstat -atup|grep pid