Skip to content

Come back PhP, all is forgiven!

Hosting
  • Its 2023 but lots of hostings still cant run nodejs.
    After a not good hosting experience with Ionos (looks cheap at first, but requires add-on ££ packages) Im wondering what realistically is cheapest monthly hosting, that can run nodejs and Nodebb.
    Many offer 70% discount for first 3-12 months, which then reverts to a higher price.
    It is one advantage of PhP code that its more universal.
    @phenomlab may I ask which host you use, and how much per month roughly to host Sudonix?

  • @Panda said in Come back PhP, all is forgiven!:

    Its 2023 but lots of hostings still cant run nodejs.
    After a not good hosting experience with Ionos (looks cheap at first, but requires add-on ££ packages) Im wondering what realistically is cheapest monthly hosting, that can run nodejs and Nodebb.

    You raise an excellent point here. Sadly, NodeJS doesn’t seem to have found it’s way into all shared hosting packages just yet, whereas Linux, Apache, MySQL, and PHP are still the mainstay because these are the required components to run a WordPress site.

    The WAMP, LAMP, and LEMP stacks (see reading material below) are commonplace because they work well on shared hosting (although not all are created equal), and because they only give you a “slice” of the power (usually 1 CPU and 512Mb RAM - or 1Gb if they are feeling generous, coupled with a small disk size, free backups etc) they can keep the cost low as their overhead in this case is literally zero as they already acquired the hosts themselves which often run hundreds of sites, and are over subscribed to the point where they are ridiculously slow).

    https://cloudinfrastructureservices.co.uk/lamp-vs-xampp-vs-wamp-vs-mamp-whats-the-difference/

    In fact, several WordPress hosting providers encourage you to use caching plugins like WP Rocket, or Cloudflare which really is to mask their poor hardware performance and the fact that there are too many websites sitting on on server. This is known as “Cloud Linux” (see below)

    https://www.cloudlinux.com/

    This hosting platform also contains Control Panels such as cPanel, Plesk, and the like. However, not all that glitters is gold. At the expense of low cost websites comes 7-p’s style performance (a bit more about that below)

    https://military-history.fandom.com/wiki/7_Ps_(military_adage)

    In essence, over subscribing plans means that they all use a shared resource pool. There are often certain clients who will max out a running PHP process (default here is 30 seconds, but very easily overridden) which then locks the CPU and kills the speed for everyone else. It’s up to the hosting provider to find the culprit, and kill the session.

    A VPS however, is by far a superior model. It too uses shared resources, although these are cut logically meaning that one VPS on the same host cannot interfere with another. The additional benefit of a VPS is that, although self-managed and by that I mean there is nobody to help you with issues, it comes with full root access and is a bare-bones operating system meaning you can install what you like - NodeJS, MongoDB, you name it - you just need to ensure you scale correctly in terms of hardware like CPU, Memory, and disk space.

    Shared hosts have started offering Composer support, but only because it’s an accepted standard when installing PHP packages - no more or less, and it’s taken years to get even that basic support. Composer also requires SSH access, so hosting companies are also having to provide this when previously, they have locked it off to secure the environment (although that’s more like security through obscurity to be honest).

    @Panda said in Come back PhP, all is forgiven!:

    Many offer 70% discount for first 3-12 months, which then reverts to a higher price.
    It is one advantage of PhP code that its more universal.

    True, but cheap is not cheerful. The more complex your site becomes (along with your coding skills increasing), the quicker you will grow out of the plan you have. If they can’t limit you in terms of hardware, they’ll do it in visitors instead. The 70% discount is a carrot - nothing more, nothing less. Don’t be fooled by this if you are serious about hosting.

    Digital Ocean for example has NodeJS packages, along with several others - see below

    https://www.codeinwp.com/blog/best-nodejs-hosting/

    I used IONOS for a while, and realised that Hetzner provide a much better deal for those experienced with Linux. I know @cagatay, @DownPW and myself all use Hetzner, and I think @Madchatthew (whom I haven’t seen for a while 🙂 ) was also considering taking their services. There’s an affiliate link below if you’d like to go down that route

    https://console.hetzner.cloud/refer

    Obtaining a VPS comes with the double-edged sword of being completely on your own with no support, although by using Virtualmin, you’ll find life so much simpler (something I know @DownPW can attest to, as I managed to convert him 🙂 )

    In terms of cost, I pay € 31.40 per month. Sudonix sits on a 4 core CPU with 16Gb RAM and 150Gb disk space, and a custom built low-latency kernel. This is further “backed” by a 500Gb Storage Box I use for backups and DEV work

    6a21d3dd-72dd-4324-91fa-de4701a82652-image.png

    The screenshot above is from Virtualmin btw…

  • phenomlabundefined phenomlab marked this topic as a regular topic on
  • @phenomlab said in Come back PhP, all is forgiven!:

    I used IONOS for a while, and realised that Hetzner provide a much better deal for those experienced with Linux. I know @cagatay, @DownPW and myself all use Hetzner, and I think @Madchatthew (whom I haven’t seen for a while ) was also considering taking their services. There’s an affiliate link below if you’d like to go down that route

    Yep hetzner is very very cool and I haven’t seen before a panel magentment as complete as him : backup, snapshot, add cpu core, ram is easy.

    @phenomlab said in Come back PhP, all is forgiven!:

    Obtaining a VPS comes with the double-edged sword of being completely on your own with no support, although by using Virtualmin, you’ll find life so much simpler (something I know @DownPW can attest to, as I managed to convert him )

    Yep Virtualmin is very cool 😉
    And it makes life much easier for server management, domain, nginx and so on even if it is always better to know how to do all this in CLI. I would say that the 2 are really complementary


  • 3 Votes
    6 Posts
    203 Views

    @DownPW said in Nginx core developer quits project in security dispute, starts “freenginx” fork:

    Maybe virtualmin implement it in the future…

    I don’t think they will - my guess is that they will stick with the current branch of NGINX. I’ve not personally tested it, but the GIT page seems to be very active. This is equally impressive

    8ac0d197-68fa-4bd8-bfa3-87237bf8f1f4-image.png

    I think the most impressive on here is the native support of HTTP 3

  • Is nginx necessary to use?

    Moved Solved Hosting
    2
    1 Votes
    2 Posts
    146 Views

    @Panda said in Cloudflare bot fight mode and Google search:

    Basic question again, is nginx necessary to use?

    No, but you’d need something at least to handle the inbound requests, so you could use Apache, NGINX, Caddy… (there are plenty of them, but I tend to prefer NGINX)

    @Panda said in Cloudflare bot fight mode and Google search:

    Do these two sites need to be attached to different ports, and the ports put in the DNS record?

    No. They will both use ports 80 (HTTP) and 443 (HTTPS) by default.

    @Panda said in Cloudflare bot fight mode and Google search:

    Its not currently working, but how would the domain name know which of the two sites to resolve to without more info?
    Currently it only says the IP of the whole server.

    Yes, that’s correct. Domain routing is handled (for example) at the NGINX level, so whatever you have in DNS will be presented as the hostname, and NGINX will expect a match which once received, will then be forwarded onto the relevant destination.

    As an example, in your NGINX config, you could have (at a basic level used in reverse proxy mode - obviously, the IP addresses here are redacted and replaced with fakes). We assume you have created an A record in your DNS called “proxy” which resolves to 192.206.28.1, so fully qualified, will be proxy.sudonix.org in this case.

    The web browser requests this site, which is in turn received by NGINX and matches the below config

    server { server_name proxy.sudonix.org; listen 192.206.28.1; root /home/sudonix.org/domains/proxy.sudonix.org/ogproxy; index index.php index.htm index.html; access_log /var/log/virtualmin/proxy.sudonix.org_access_log; error_log /var/log/virtualmin/proxy.sudonix.org_error_log; location / { proxy_set_header Access-Control-Allow-Origin *; proxy_set_header Host $host; proxy_pass http://localhost:2000; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Api-Key $http_x_api_key; } location /images { index index.php index.htm index.html; root /home/sudonix.org/domains/proxy.sudonix.org/ogproxy; } fastcgi_split_path_info "^(.+\.php)(/.+)$"; listen 192.206.28.1:443 ssl http2; ssl_certificate /home/sudonix.org/domains/proxy.sudonix.org/ssl.combined; ssl_certificate_key /home/sudonix.org/ssl.key; }

    The important part here is server_name proxy.sudonix.org; as this is used to “map” the request to the actual domain name, which you can see in the root section as root /home/sudonix.org/domains/proxy.sudonix.org/ogproxy;

    As the DNS record you specified matches this hostname, NGINX then knows what to do with the request when it receives it.

  • 2 Votes
    2 Posts
    128 Views

    @Panda I have the same opinion here. NextJS is a framework for react, and like angular, I was never one to simply dive off into the deep without having any real need to do so. I’m conversant with nodeJS, vanilla js, and several other languages (including PHP which I have years of experience in and developed / still maintain an application at work that was custom written by me to fulfill an audit requirement), and in all honesty, I don’t really want to spend my life learning new frameworks unless I have a need to do so.

    I’ve been on the nodeJS train for some time now, and given my adoption of NodeBB, this makes perfect sense.

    Bleeding edge is fun if you want to experiment and learn, but with so many frameworks popping up all over the place, how many do we actually need?

    I guess most of this really depends on unique use cases, but I’ve yet to come across an issue that meant I had to rewrite an application in a different language to resolve an issue. It’s almost like using a bulldozer to find a china cup.

  • VPS Provider

    Solved Hosting
    7
    6 Votes
    7 Posts
    235 Views

    @phenomlab thank you very much. I will use that link when I set up my new server.

    Thanks again!

  • Domain name factors

    Hosting
    16
    1 Votes
    16 Posts
    691 Views

    @phenomlab said in Domain name factors:

    @jac Yes, but don’t forget that Matomo (and most browsers) alike will allow you to “opt out” or not be tracked, so you can’t really rely on these 100%.

    Absolutely, very true pal.

  • Site down

    Solved Hosting
    9
    1 Votes
    9 Posts
    370 Views

    @jac thinking about it, this is probably related to the feature in Nord VPN.
    https://nordvpn.com/features/vpn-kill-switch/

  • 0 Votes
    13 Posts
    640 Views

    @ash3t I’m going to mark this as solved for the time being. Let me know if this isn’t the case, or if you need any further help.

  • 3 Votes
    4 Posts
    442 Views

    @cagatay same here. Was previously an IONOS user, but moved to Hetzner to realise both savings and performance increase and have never looked back.