Έχουμε τώρα το φόρουμ phpBB μας που τρέχει στον κεντρικό υπολογιστή δικτύου Nginx, έναν υψηλής ποιότητας και σημαντικά καλύτερο κεντρικό υπολογιστή δικτύου εκτέλεσης από Apache HTTPD. Μερικές από τις προκλήσεις που αντιμετωπίσαμε ήταν:

  1. Χρησιμοποιούμε τα συμπαθητικά permalinks στο φόρουμ έτσι υπάρχουν μέρη του apache httpd αναθεωρούν τους κανόνες στα αρχεία .htaccess που έπρεπε να μετατραπούν στο σχήμα nginx.
  2. Επιπλέον έπρεπε επίσης να το διαμορφώσουμε για μια εικονική οργάνωση φιλοξενίας όπου η ίδια διεύθυνση IP (κεντρικός υπολογιστής) μοιράζεται από τους πολλαπλάσιους ιστοχώρους.

Η βασική αλλαγή που έπρεπε να κάνουμε πρόσθετε το α/αμέσως αφότου ξαναγράφει ^ την έκφραση όρου. Σε Apache HTTPD το αίτημα URI δεν περιέχει έναν αρχικό/ενώ στο nginx κάνει. Όπως ανέφερα προτού να χρησιμοποιήσουμε τα συμπαθητικά permalinks. Τελικό αναθεωρεί τους κανόνες γιατί το niginx για το phpBB είναι:

ξαναγράψτε ^/[*-f a-z0-9_-] ([0-9] +)/; (π ([0-9] +) \ .html); $ /viewforum.php; f=$1&start=$3 διαρκέστε 
# ΘΕΜΑ ΜΕ ΤΟΝ ΕΙΚΟΝΙΚΟ ΦΑΚΕΛΛΟ
ξαναγράψτε ^/[*-f a-z0-9_-] ([0-9] +)/[a-z0-9_-] *-t ([0-9] +) (- ([0-9] +)); \ .html$ /viewtopic.php; f=$1&t=$2&start=$4 διαρκέστε 
# ΣΦΑΙΡΙΚΟΣ ΑΝΑΓΓΕΛΛΕΙ ΜΕ ΤΟΝ ΕΙΚΟΝΙΚΟ ΦΑΚΕΛΛΟ
ξαναγράψτε ^/announces/[a-z0-9_-] *-t ([0-9] +) (- ([0-9] +)); \ .html$ /viewtopic.php; t=$1&start=$3 διαρκέστε 
# ΘΕΜΑ ΧΩΡΙΣ ΤΗΝ ΤΑΥΤΌΤΗΤΑ & DELIM ΦΟΡΟΥΜ
ξαναγράψτε ^/[a-z0-9_-] *; [a-z0-9_-] *-t ([0-9] +) (- ([0-9] +)); \ .html$ /viewtopic.php; t=$1&start=$3 διαρκέστε 
# ΣΧΕΔΙΑΓΡΑΜΜΑΤΑ ΑΠΛΑ
ξαναγράψτε ^/m ([0-9] +) \ .html$ /memberlist.php; mode=viewprofile&u=$1 διαρκέστε 
# ΜΗΝΥΜΑΤΑ ΧΡΗΣΤΩΝ ΑΠΛΑ
ξαναγράψτε ^/messages ([0-9] +) (- ([0-9] +)); \ .html$ /search.php; author_id=$1&sr=posts&start=$3 διαρκέστε 
# ΟΜΑΔΕΣ ΑΠΛΕΣ
ξαναγράψτε ^/g ([0-9] +) (- ([0-9] +)); \ .html$ /memberlist.php; mode=group&g=$1&start=$3 διαρκέστε 
# ΘΕΣΗ
ξαναγράψτε ^/p ([0-9] +) \ .html$ /viewtopic.php; p=$1 τελευταίος 
# Η ΟΜΑΔΑ
ξαναγράψτε την ^/the-ομάδα \ .html$ /memberlist.php; τα mode=leaders διαρκούν 
ξαναγράψτε ^/[a-z0-9_-] +; (π ([0-9] +) \ .html); $ /viewforum.php; start=$2 διαρκέστε 

Σε Apache μπορείτε να διευκρινίσετε ότι RewriteCond (ξαναγράψτε τους όρους) που πηγαίνουν με αναθεωρούν τον κανόνα. Δεν μπορείτε να κάνετε το ίδιο πράγμα στο nginx. Εντούτοις τι έκανα αντ' αυτού ήταν:

εάν (- ε $request_filename) {
        σπάσιμο 
    }

Αυτό εξασφαλίζει ότι τα υπάρχοντα αρχεία, οι κατάλογοι ή οι συμβολικές συνδέσεις χρησιμοποιούνται αντί του ταιριάσματος (και του επαναπροσανατολισμού) τους με αναθεωρούν τους κανόνες.

Χρησιμοποιούμε την ίδια IP για να φιλοξενήσουμε διάφορους ιστοχώρους (εικονική φιλοξενία) έτσι έπρεπε να εσωκλείσουμε αναθεωρούμε τους κανόνες ανωτέρω μέσα εάν φραγμός όπου την εφαρμόζουμε μόνο όταν ο οικοδεσπότης είναι το forum.taragana.com. Μοιάζει με αυτό:

εάν ($host ~* ^forum \ .taragana \ .com$) {
        ξαναγράψτε ^/[*-f a-z0-9_-] ([0-9] +)/; (π ([0-9] +) \ .html); $ /viewforum.php; f=$1&start=$3 διαρκέστε 
        …
}

Ελπίδα που βοηθά στην καθιέρωση τον κεντρικό υπολογιστή nginx σας για το phpBB. Εάν έχετε οποιεσδήποτε ερωτήσεις στην καθιέρωση phpBB στο nginx παρακαλώ την ρωτήστε στο φόρουμ μας.