記錄一下VPS優化筆記

ChatGPT o1問的,看有沒有比較厲害 XD

我有一台Ubuntu Linux 22.04 主機,安裝nginx + php7.4fpm + mysql運作
3CPU + 2G記憶體 VPS

Nginx 設定

/etc/nginx/nginx.conf

worker_processes 3;
events {
    worker_connections 1024;
    multi_accept on;
    use epoll;
}
http {
    gzip on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    ...
}
keepalive_timeout 65;
client_body_buffer_size 16k;
client_header_buffer_size 1k;
large_client_header_buffers 4 8k;

PHP-FPM 設定

/etc/php/7.4/fpm/pool.d/www.conf

/etc/php/8.3/fpm/pool.d/www.conf

pm = ondemand
pm.max_children = 20
pm.process_idle_timeout = 10s;
pm.max_requests = 500

PHP Opcache 設定

/etc/php/7.4/fpm/conf.d/10-opcache.ini

/etc/php/8.3/fpm/conf.d/10-opcache.ini

[opcache]
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
opcache.revalidate_freq=2

PHP APCu 設定

/etc/php/7.4/fpm/conf.d/20-apcu.ini

/etc/php/8.3/fpm/conf.d/20-apcu.ini

[APCu]
apc.enabled=1
apc.shm_size=64M
apc.ttl=7200
apc.user_ttl=7200
apc.gc_ttl=3600
apc.entries_hint=4096
apc.slam_defense=1
apc.serializer=default
apc.enable_cli=0

MySQL 設定

/etc/mysql/my.cnf

innodb_buffer_pool_size=300M
max_connections=50
performance_schema=off
table_open_cache=400
thread_cache_size=10
performance_schema=off

以上設定值,不見得要照著設定,僅供參考

經驗上有可能越設越糟,如果你的主機順順的跑,速度也沒太大問題,就這樣就好

瀏覽次數:4