ฉันใช้ Apache กับการกำหนดค่าต่อไปนี้:
หมดเวลา 60
เปิด KeepAlive
MaxKeepAliveRequests 100
<FilesMatch \.php$>
SetHandler "พร็อกซี:ยูนิกซ์:/var/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>
ชื่อโฮสต์ปิดการค้นหา
<ไดเร็กทอรี />
ตัวเลือก FollowSymLinks
AllowOverride ไม่มี
ต้องการปฏิเสธทั้งหมด
</ไดเร็กทอรี>
<ไดเร็กทอรี /usr/share>
AllowOverride ไม่มี
ต้องได้รับอนุญาตทั้งหมด
</ไดเร็กทอรี>
<ไดเร็กทอรี /var/www/>
ดัชนีตัวเลือก FollowSymLinks
AllowOverride ไม่มี
ต้องได้รับอนุญาตทั้งหมด
</ไดเร็กทอรี>
<ไดเรกทอรี /var/www/html/>
ตัวเลือก +ติดตามSymlinks
AllowOverride ทั้งหมด
</ไดเร็กทอรี>
<IfModule mod_expires.c>
หมดอายุเปิดใช้งานเมื่อ
FileETag ไม่มี
ExpiresByType ข้อความ/จาวาสคริปต์ "การเข้าถึงบวก 1 เดือน"
ข้อความ ExpiresByType/x-javascript "การเข้าถึงบวก 1 เดือน"
แอปพลิเคชัน ExpiresByType / จาวาสคริปต์ "การเข้าถึงบวก 1 เดือน"
ExpiresByType ข้อความ/html "การเข้าถึงบวก 1 เดือน"
</หากโมดูล>
<ผู้ปฏิบัติงาน IfModule.c>
สตาร์ทเซิร์ฟเวอร์ 2
ไคลเอนต์สูงสุด 50
MinSpareThreads 1
MaxSpareThreads 2
กระทู้ต่อเด็ก 15
MaxRequestsPerChild 0
</หากโมดูล>
<ifModule prefork.c>
สตาร์ทเซิร์ฟเวอร์ 2
เซิร์ฟเวอร์ MinSpare 1
MaxSpareServers2
แม็กซ์ไคลเอนต์ 60
คำขอสูงสุดต่อเด็ก 1,000
</หากโมดูล>
นี่คือ external.conf ของฉัน (ซึ่งทราฟฟิกจากวานิชจะถูกเข้ารหัส):
<VirtualHost *:443>
Protocols h2 http/1.1
ServerName cloud.privacyy.ch
ErrorLog /var/log/apache2/external-https_error.log
CustomLog /var/log/apache2/external-https_access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/cloud.privacyy.ch/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/cloud.privacyy.ch/privkey.pem
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
RewriteRule ^/\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
#RewriteRule ^/\.aurora https://cloud.privacyy.ch/aurora-staefa.ch/ [R=301,L]
</IfModule>
Header set Cache-Control "max-age=84600, private"
<FilesMatch "\.(js|css|php)$">
Header set Cache-Control "max-age=63072000, private"
</FilesMatch>
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains"
Header always set X-Content-Security-Policy "allow 'self';"
Header always set x-xss-protection "1; mode=block"
Header always set X-Robots-Tag "none"
Header always set X-Download-Options "noopen"
Header always set X-Permitted-Cross-Domain-Policies "none"
Header set X-Content-Type-Options: "nosniff"
Header set X-Frame-Options: "sameorigin"
SSLCompression off
</VirtualHost>
นี่คือ internal.conf:
<VirtualHost *:8181>
protocols h2 http/1.1
DocumentRoot /var/www/html
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
</FilesMatch>
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
</IfModule>
Header set Cache-Control "max-age=84600, public"
<FilesMatch "\.(iso|mp3|mp4|m4a|mov)$">
Header set Cache-Control "max-age=42300, private"
</FilesMatch>
</VirtualHost>
โปรดทราบว่าฉันไม่ได้รวมความคิดเห็นหรือชอบการตั้งค่าบันทึกที่นี่
เมื่อฉันดาวน์โหลดอะไรโดยใช้เว็บเบราว์เซอร์ เซิร์ฟเวอร์ apache ก็ใช้ ram มากขึ้นเรื่อยๆ (และใช้ 12.3GB swap ทั้งหมด แม้ว่าฉันจะไม่ได้ดาวน์โหลดไฟล์ 12.3GB) และความเร็วในการดาวน์โหลดก็ลดลง สิ่งเดียวกันนี้เกิดขึ้นเมื่อใช้แอป Nextcloud (เดสก์ท็อป/โทรศัพท์)
ความเร็วในการดาวน์โหลดดั้งเดิมคือ 10MB/s
ฉันได้เปิดใช้งาน apache mods ดังต่อไปนี้:
access_compat นามแฝง auth_basic authn_core authn_file authz_core authz_host authz_user autoindex deflate dir env หมดอายุ fcgid ตัวกรองส่วนหัว http2 mime mpm_event การเจรจาต่อรอง pagespeed proxy proxy_balancer proxy_fcgi proxy_http reqtimeout เขียนใหม่ setenvif slotmem_shm socache_shmcb ssl สถานะ unique_id
ฉันใช้ฐานข้อมูลมาเรีย (เพิ่งเปลี่ยนแต่ไม่ได้ทำอะไรมาก)
Nextcloud ใช้เซิร์ฟเวอร์ redis เป็นแคช php และฉันได้เปิดใช้งาน opcache ด้วยการตั้งค่าที่แนะนำของ nextcloud ฉันปิดใช้งานสิ่งนั้นแล้วเพื่อทดสอบ แต่นั่นไม่ได้แก้ปัญหา
การเข้าถึง
1.8.0
วอร์เกสเทลต์
กิจกรรม
2.15.0
วอร์เกสเทลต์
การตั้งค่ากำลังเดรัจฉาน
2.2.0
วอร์เกสเทลต์
ปฏิทิน
2.3.4
วอร์เกสเทลต์
ตัวอย่าง RAW ของกล้อง
0.7.12
เช็คซัม
1.1.2
วงกลม
22.1.1
วอร์เกสเทลต์
แท็กการทำงานร่วมกัน
1.12.0
วอร์เกสเทลต์
ความคิดเห็น
1.12.0
วอร์เกสเทลต์
ติดต่อ
4.0.3
วอร์เกสเทลต์
ติดต่อปฏิสัมพันธ์
1.3.0
วอร์เกสเทลต์
แผงควบคุม
7.2.0
วอร์เกสเทลต์
โมดูลการเข้ารหัสเริ่มต้น
2.10.0
วอร์เกสเทลต์
ไฟล์ที่ถูกลบ
1.12.0
วอร์เกสเทลต์
การเข้ารหัสแบบครบวงจร
1.7.1
วอร์เกสเทลต์
สหพันธรัฐ
1.12.0
วอร์เกสเทลต์
การแชร์ไฟล์
1.14.0
วอร์เกสเทลต์
โฟลเดอร์กลุ่ม
10.0.0
วอร์เกสเทลต์
เครื่องอ่านบันทึก
2.7.0
วอร์เกสเทลต์
จดหมาย
1.10.5
วอร์เกสเทลต์
แผนที่
0.1.9
วอร์เกสเทลต์
ข้อมูลเมตา
0.14.0
การตรวจสอบ
1.12.0
วอร์เกสเทลต์
ประกาศ Nextcloud
1.11.0
วอร์เกสเทลต์
หมายเหตุ
4.1.1
วอร์เกสเทลต์
การแจ้งเตือน
2.10.1
วอร์เกสเทลต์
นโยบายรหัสผ่าน
1.12.0
วอร์เกสเทลต์
โปรแกรมดู PDF
2.3.0
วอร์เกสเทลต์
ภาพถ่าย
1.4.0
วอร์เกสเทลต์
ความเป็นส่วนตัว
1.6.0
วอร์เกสเทลต์
คำเตือนโควต้า
1.11.0
จำได้
1.6.10
การลงทะเบียน
1.3.0
คลิกขวา
1.1.0
วอร์เกสเทลต์
แบ่งปันทางไปรษณีย์
1.12.0
วอร์เกสเทลต์
สนับสนุน
1.5.0
วอร์เกสเทลต์
พูดคุย
12.1.2
วอร์เกสเทลต์
ข้อความ
3.3.0
วอร์เกสเทลต์
ชุดรูปแบบ
1.13.0
วอร์เกสเทลต์
อีเมลแบบสองปัจจัย
2.1.1
อัปเดตการแจ้งเตือน
1.12.0
วอร์เกสเทลต์
แบบสำรวจการใช้งาน
1.10.0
วอร์เกสเทลต์
สถานะผู้ใช้
1.2.0
วอร์เกสเทลต์
รุ่น
1.15.0
วอร์เกสเทลต์
ตัวแปลงวิดีโอ
1.0.3
เครื่องเล่นวีดีโอ
1.11.0
วอร์เกสเทลต์
สถานะสภาพอากาศ
1.2.0
วอร์เกสเทลต์
(vorgestellt แปลว่า แนะนำ)
เฉพาะ apache เท่านั้นที่ใช้ RAM มากขนาดนั้น อย่างอื่นปกติดี
สิ่งต่าง ๆ จะไม่ถูกลบออกจาก RAM (&swap) จนกว่าฉันจะโหลดใหม่ / รีสตาร์ทเซิร์ฟเวอร์ apache
เมื่อดาวน์โหลดจากเบราว์เซอร์ การดาวน์โหลดจะหยุดที่ 383MB - และเบราว์เซอร์ไม่ได้บอกว่าต้องดาวน์โหลดไฟล์ขนาดใหญ่เพียงใด (Onedrive ก็มีปัญหานั้นเช่นกันด้วยความเร็วดาวน์โหลดน้อยกว่า 1MB/s ในโฟลเดอร์ขนาดใหญ่ เหมือนกับ: เวลาที่เหลือที่ไม่รู้จัก - เท่าไหร่ - ดาวน์โหลดแล้ว - ความเร็วในการดาวน์โหลด)
ฉันกำหนดค่าอะไรผิด หรือเป็นอย่างอื่น?
เซิร์ฟเวอร์ของฉันเป็น apple macbook air 4GB RAM 2GHz - 2.2GHz (boost) Intel มัลติเธรด 2 คอร์ cpu, เคอร์เนล xanmod
ถ้าขาดอะไรแจ้งได้นะครับ
สิ่งหนึ่ง: earlyoom ฆ่าเซิร์ฟเวอร์ apache หากไม่มี RAM ว่าง
อีกสิ่งหนึ่ง: ฉันใช้ Ubuntu21.04 โดยไม่ใช้ x-server และ 400MB RAM หากไม่มีอะไรเกิดขึ้น