Beginilah WordPress Nginx yang Benar Part II #426
baik sapi jantan maupun betina mereka adalah sapi
andrypein.net : Merupakan post lanjutan dari WordPress nginx yang benar part 1kali ini lanjutan setting nya sampai si wordpress siap running online.
Silahkan simak daftar isi nya gan karena bakal ane anggap semuanya sudah baca part 1.
WordPress Nginx yang Benar ya Begini
Siapkan Working Directory mu
Dalam rangka dev dev an ini jelas dong langkah awalnya kita siapin si working directory, enaknya sih di user home mu, supaya ga ribet, mengapa? karena /var/www/html terlalu mainstream, serius.
Btw bisa dicontoh yang ane atau ga juga terserah, masing-masing punya style sendiri, meanwhile yang ane mah biasanya bikin folder dulu sebagai wd (working directory) supaya memudahkan untuk manage multi website juga.
Download WordPress
Lanjut kita gas donlod mentahan wodpressnya gan disini, tinggal di wget saja seperti ini gan :
lalu kita extract, bisa di unzip langsung dengan command ‘unzip latest.zip‘ jika tidak bisa donlod saja dulu ‘apt install zip‘.
Membuat Database
Gampang sih ini mah tinggal create db doang, wkwkwkkw memangnya mau ngapain lagi.
Okeh donlod wodpress done, bikin databes juga done, tinggal bermain di area php dan nginx nya gan.
Konfigurasi SSL
Untuk SSL sendiri ane sudah postingkan tutorialnya –>Disini<– harus dari awal dong supaya saat ngedit nginx nya tidak eror.
Konfigurasi PHP-FPM
Section ini adalah standar konfigurasi php fpm untuk wordpress secara non-default, jadi ada yang diubah di sebagian parameternya.
Adapun file-file tersebut adalah : php.ini dan .conf pada pool.d
Ganti Parameter php.ini
Lokasi filenya berada di /etc/php/7.4/fpm
Parameter yang diubah pada file php.ini adalah :
- max_execution_time = 30 –> max_execution_time = 300
- ;max_input_vars = 1000 –> max_input_vars = 5000, jangan lupa buang titik koma nya.
- memory_limit = 128M –> bisa default bisa dinaikan menjadi 256, tergantung ada berapa banyak plugin di wordpress, namun untuk balance number, set saja menjadi 256M.
- post_max_size = 8M –> 25M juga cukup, jika ada error bisa dinaikan lagi.
- ;cgi.fix_pathinfo=1 –> cgi.fix_pathinfo=0, uncomment titik koma.
- upload_max_filesize = 2M –> samakan dengan post_max_size menjadi 25M juga.
Done, untuk php.ini cukup segitu saja dulu, lanjut ke .conf nya.
Hapus default www.conf
lokasi www.conf ada di /etc/php/7.4/fpm/pool.d
Default tidak asik, serius, standar andrypein mah si www.conf nya suka ane hapus, lalu buat file baru misal web1.conf dan masukan parameter-parameter berikut :
[webku] user = andrypein group = www-data listen = 127.0.0.1:7729 listen.owner = andrypein listen.group = www-data pm.max_children = 20 pm = ondemand pm.process_idle_timeout = 10s pm.max_requests = 900 chroot = / chdir = /home/andrypein/wordpress
Sesuaikan chdir dengan direktori mentahan wordpress masing-masing, lalu save dan setelah itu restart php nya.
service php7.4-fpm restart
Konfigurasi Nginx
Php selesai sekarang lanjut ke section untuk nginx, dalam section kali ini file yang akan kita ubah adalah nginx.conf di /etc/nginx serta membuat file baru sebagai “nginx block server” supaya bisa pointing dengan benar.
Ganti nginx.conf
Yang bawaan boleh dibackup terlebih dahulu atau langsung hapus saja tidak masalah h3h3.
user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 1024; accept_mutex on; use epoll; } http { ## # Basic Settings ## proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; sendfile on; tcp_nopush on; tcp_nodelay on; types_hash_max_size 2048; server_tokens off; server_names_hash_bucket_size 64; server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; client_body_buffer_size 10k; client_header_buffer_size 1k; client_max_body_size 8m; large_client_header_buffers 8 2k; client_body_timeout 10; client_header_timeout 10; keepalive_timeout 30; keepalive_requests 100; send_timeout 2; reset_timedout_connection on; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
Membuat Block Server Baru
Blok server pada nginx berada di directory /etc/nginx/sites-available , disanalah kamu bisa me-manage website-website mu.
Buat file baru di direktori sites-available ini misal webku.conf dan masukan kode dibawah ini :
upstream peinstream { server 127.0.0.1:7729; } server { listen 80; server_name andrypein.net www.andrypein.net; return 301 https://andrypein.net$request_uri; } server { listen 443; ssl on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_certificate_key /home/andrypein/ssl/devTest.key; ssl_certificate /home/andrypein/ssl/devTest.crt; ssl_session_timeout 15m; server_name andrypein.net; root /home/andrypein/wordpress; index index.php; set $cache_uri $request_uri; if ($request_method = POST) { set $cache_uri 'null cache'; } if ($query_string != "") { set $cache_uri 'null cache'; } if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") { set $cache_uri 'null cache'; } if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") { set $cache_uri 'null cache'; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { log_not_found off; access_log off; } location / { try_files $uri $uri/ /index.php?$args; } location ~* \.(mp4|pdf|woff2|woff|js|css|png|jpg|jpeg|gif|ico)$ { expires 365d; log_not_found off; } location ~ \.php$ { fastcgi_keep_conn on; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass peinstream; fastcgi_index index.php; include fastcgi_params; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_connect_timeout 10; fastcgi_buffer_size 32k; fastcgi_buffers 32 32k; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }
pastikan konfigurasi benar dengan mengetesnya dengan ‘nginx -t’.
NB : Jika menggunakan nama upstream (baris pertama) yang berbeda maka samakan dengan dengan fastcgi_pass (di blok .php) nya.
Membuat Symlink untuk Nginx
Tahap ini merupakan tahap final bagi konfigurasi nginx, sesuai nginx.conf yang berbunyi include /etc/nginx/sites-enabled/*; maka file .conf yang berada di /etc/nginx/sites-available harus di symbolic link kan, a.k.a symlink.
Perintahnya sederhana, cukup dengan :
ln -s /etc/nginx/sites-available/webku.conf /etc/nginx/sites-enabled
Finalisasi dari nginx ini kita tinggal restart service nya gan ‘service nginx restart’.
Ready to Launch
Oiya jelas tinggal di tes di browser ini mah, coba saja, pasti akan masuk ke halaman instalasi wordpress.
Selamat, tutorialnya berhasil, tinggal lanjut saja untuk blogging
WROOOOOOOOOONGGGG!!!
transper dulu cuk