Перейти к содержимому
Русский язык для Invision Community 5

Настройки апача и мускула

Для vds большое значения имеют настройки сервера. Некоторое время "игрался" с ними, вот такой вид имеют они сейчас.

apache2.conf

 

ServerRoot "/etc/apache2"
LockFile /var/lock/apache2/accept.lock
PidFile ${APACHE_PID_FILE}

Timeout 1
KeepAlive Off
MaxKeepAliveRequests 300
KeepAliveTimeout 3

<IfModule mpm_prefork_module>
StartServers       20
MinSpareServers    5
MaxSpareServers    10
MaxClients        20
   MaxRequestsPerChild   3000
</IfModule>
<IfModule mpm_worker_module>
StartServers       1
MaxClients        50
MinSpareThreads    1
MaxSpareThreads    4
   ThreadsPerChild      25
   MaxRequestsPerChild   10000
</IfModule>

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
AccessFileName .htaccess
<Files ~ "^\.ht">
   Order allow,deny
   Deny from all
</Files>
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/apache2/error.log
LogLevel error
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
ServerTokens Prod
ServerSignature Off
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/

 

 

my.conf (мускул)

 

[client]
port		= 3306
socket		= /var/run/mysqld/mysqld.sock
default-character-set= utf8

[mysqld_safe]
socket		= /var/run/mysqld/mysqld.sock
nice		= 0

[mysqld]
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /mysql_tmp
language	= /usr/share/mysql/english
wait_timeout           = 90
key_buffer		= 256M
max_allowed_packet	= 16M
thread_stack		= 256K
thread_cache_size	= 8
max_connections        = 400
table_cache            = 512
thread_concurrency     = 8
query_cache_limit       = 20M
query_cache_size        = 64M
log_slow_queries	= /var/log/mysql/mysql-slow.log
long_query_time = 2
server-id		= 1

innodb_buffer_pool_size	= 64M
innodb_additional_mem_pool_size = 2M

innodb_data_file_path = system:16M
innodb_data_home_dir  = /var/lib/mysql

#innodb_log_arch_dir   =
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size  = 8M
innodb_lock_wait_timeout = 10
innodb_file_per_table = 1
#innodb_log_group_home_dir =
innodb_thread_concurrency = 8

[mysqldump]
quick
quote-names
max_allowed_packet	= 16M

[mysql]
#no-auto-rehash	# faster start of mysql but no tab completition
#default-character-set= koi8r
default-character-set= utf8

[isamchk]
key_buffer		= 128M
!includedir /etc/mysql/conf.d/

 

 

Памяти на сервере полтора гига, проца чуть больше двух герц. Посещаемость около 3 тысячи хостов в сутки.

 

Нет ли критических ошибок в этих настройках для ipb?

Рекомендованные сообщения

Просто нужно настроить /public/404.php для not found картинок

Особого смысла нет - там просто текст "не найдено" и заголовок 404. Это тоже можно и нужно оставить на nginx.

Я так понял это прописать в nginx?Прописал вот такое:

location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|avi|swf)$ {
root /var/www/;
}

Незнаю, сработало ли :)

Проверить легко:

http://imtw.ru/grafik/logo.gif - картинка

http://imtw.ru/grafik/blablabla.gif - 404 от nginx

Значит, работает. Apache должно заметно полегчать.

 

поставил вчера nginx.

проверил в nginx.conf - там стоит

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
		root /var/www/юзер/data/www/ляляля.ru;
		access_log /var/www/nginx-logs/юзер isp;
		access_log /var/www/httpd-logs/ляляля.ru.access.log ;
		error_page 404 = @fallback;
	}

 

попробовал есть ли отдача статики тестом предложенным Ritsuka:

реальный форумный png файл - показан.

несуществующий файл - 404 от Апача, а не от nginx

стало быть всё идёт через Апач.

 

Где копать и что сделано не так?

Спасибо

 

		location @fallback {
		proxy_pass http://айпи:81;
		proxy_set_header Host $host;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_set_header X-Real-IP $remote_addr;

 

Как я понял, nginx настроен на 80 порт, а Апач переведен на 81.

Так вот, тот эррор 404 на несуществующую картинку выходит так:

Not Found

The requested URL /testipb/public/style_images/elegia/t_read_dot111.png was not found on this server.

Apache/2.2.22 (CentOS) Server at айпи Port 80

Не нужно там @fallback, иначе вы именно этой инструкцией и передаете обработку ошибки 404 на apache. И еще, учитывая minify, не следует обрабатывать через nginx файлы css и jss.

 

Финальный вариант:

location ~* ^.+\.(jpg|jpeg|gif|png|svg|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root /var/www/юзер/data/www/ляляля.ru;
access_log off; expires 30d;
}

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.