100% found this document useful (1 vote)
81 views33 pages

Nginx and PHP

Nginx is an open source web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. It was originally written by Igor Sysoev and is commonly used to serve static files and as a reverse proxy. PHP is a popular scripting language used for web development that is often used with Nginx. This document provides instructions on downloading, installing, configuring and running Nginx and PHP on Windows including using NSSM to install them as Windows services.

Uploaded by

Faza Rashif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
81 views33 pages

Nginx and PHP

Nginx is an open source web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. It was originally written by Igor Sysoev and is commonly used to serve static files and as a reverse proxy. PHP is a popular scripting language used for web development that is often used with Nginx. This document provides instructions on downloading, installing, configuring and running Nginx and PHP on Windows including using NSSM to install them as Windows services.

Uploaded by

Faza Rashif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

NGINX and PHP

Installation and Configuration


NGINX
 HTTP and reverse proxy server, a mail proxy
server, and a generic TCP/UDP proxy server.
 Originally written by Igor Sysoev.
 Served or proxied 30.46% busiest sites in
January 2018, including Dropbox, Netflix,
Wordpress.com, FastMail.FM
 The sources and documentation are distributed
under the 2-clause BSD-like license.
 Commercial support is available from Nginx,
Inc. (www.nginx.com)
Where to get ?

 Official web site :


 http://www.nginx.org
 Latest version :
 Stable : 1.12.xx
 Mainline : 1.13.xx
 Supported Platform :
 UNIX, Linux, Mac OSX
 MS Windows Server or Desktop
Additional Resources

 E-book can be
downloaded for free at
https://www.nginx.com
/resources/library/com
plete-nginx-
cookbook/?utm_sourc
e=nginxorg&utm_medi
um=homepagebanner
&utm_campaign=com
plete_cookbook
Download

Click here to download


NGINX for Windows

Click here to download


NGINX for Unix
Installing NGINX on MS
Windows Platform

 Extract the downloaded zip file to any folder


you like, i.e. c:\nginx, as long as no space in
folder name.
 Go to folder conf and edit nginx.conf file to
configure nginx.
Running NGINX on MS
Windows Platform
 To start NGINX, go to folder root of the
NGINX folder, and type "nginx" and
press Enter.
 To stop the NGINX, go to folder root of the
NGINX folder, and type "taskkill /f
/IM nginx.exe" and press Enter.
NGINX Configuration

 Prior of running NGINX, we have to


configure it first.
 The configuration file is usually located
at folder nginx/conf/.
 The default name for NGINX
configuration file is nginx.conf.
 The configuration file basically is a text
file, so we can change it using any text
editor program.
Important Settings
 There are few settings in nginx.conf file
that must be set, prior to running the
nginx.exe :
 worker_connections : Maximum number of
connection that can be served.
 sendfile : Enabling sending files capabilities.
 keepalive_timeout : number of seconds
before timeout.
 listen : number of port that NGINX will listen.
 server_name : name or IP address of NGINX
server.
Important Settings, cont…
 root : Location of root folder of the HTML
document (under NGINX folder).
 index : name of index (default) file to open
when user do not supply a file name.
 error_page : name/location of file to be open
when particularly error happens.
 location : redirect location when particular
pattern appears.
 Include : includes another file, or files
matching the specified mask, into configuration.
Warning !!!

 Every time you edit (make changes) in


nginx.conf file, you must shutdown
and start again the NGINX in order for
the change(s) to take effects.
 If you not restart the NGINX, the
changes will not affect anything until
next start.
PHP

 PHP is a popular general-purpose


scripting language that is especially
suited to web development.
 Most popular scripting language in use
for websites.
 PHP is free to download and use.
Where to get ?

 Official web site :


 www.php.net
 Latest version :
 7.0.xx
 Supported Platform :
 UNIX, Linux, Mac OSX
 MS Windows Server 2000 or higher
Unix Platform

Click here to download PHP for


Unix/Linux/OSX Platform
MS Windows Platform

Click here to download PHP


for Windows Platform
MS Windows Platform, cont…
MS Windows Platform, cont…

 Which version to download ?


 Non Thread Safe versions are for computer that
only have single core single thread processor,
for non threaded environment, or for testing
purpose only.
 Nowadays, most platforms have multicore
multithread processor, so its better to download
the Thread Safe versions.
 Always download the version that matched to
the NGINX version installed.
Installing PHP
 Extract the downloaded file into any folder you
choose, preferably inside the NGINX folder,
i.e. c:\nginx\php.
 Add few settings in nginx.conf file :
location ~ \.php$ {
try_files $uri =404;
location ~ \..*/.*\.php$ {return 404;}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
c:/nginx/html/$fastcgi_script_name;
include fastcgi_params;
}

 Restart the NGINX Server.


PHP Configuration

 Prior of running PHP, we have to configure it


first.
 The configuration file is located at folder
where the PHP is installed.
 The default name for PHP configuration file
is php.ini.
 The configuration file basically is a text file,
so we can change it using any text editor
program.
Important Settings
 There are few settings in php.ini file that
must be set, before running the PHP :
 engine : Directive to enable/disable PHP.
 short_open_tag : Directive to enable/disable
short tag.
 asp_tags : Directive to enable/disable ASP
like tag.
 Precision : Directive to set how many digit
use in floating point number.
Warning !!!

 Every time you edit (make changes) in


php.ini file, you must restart the
NGINX Server in order for the
change(s) to take effects.
 If you not restart the NGINX Server,
the changes will not affect anything
until next start/restart.
Non-Sucking Service Manager
(NSSM)

 To run NGINX and PHP automatically,


it’s preferable to run them as services.
 NSSM is a service helper which
doesn't suck, because it handle failure
of the application running as a service.
 NSSM monitors the running service
and will restart it if it dies. With NSSM
you know that if a service says it's
running, it really is.
Non-Sucking Service Manager
(NSSM), cont…
 You can configure NSSM to absolve all
responsibility for restarting it and let
Windows take care of recovery actions.
 NSSM logs its progress to the system Event
Log so you can get some idea of why an
application isn't behaving as it should.
 NSSM also features a graphical service
installation and removal facility.
 NSSM is public domain. You may
unconditionally use it and/or its source code
for any purpose you wish.
Where to get ?

 Official web site :


 www.nssm.cc
 Latest version :
 2.24-xxx
 Supported Platform :
 MS Windows 2000 or later
Installing NSSM
 Extract the downloaded file into any folder you
choose, preferably inside the Program Files
folder, i.e. c:\Program Files\.
Installing NGINX as a service
using NSSM

 Open the installed folder.


 Select folder that matched
your operating system.
Installing NGINX as a service
using NSSM, cont…

 Press Shift + RightClick


simultaneously.
 Select Open command
window here.
 Type nssm install.
Installing NGINX as a service
using NSSM, cont…
Select nginx.exe

Select NGINX folder

After everything is done, click


here to install NGINX service

Type the service name, i.e. “NGINX Service”


Installing PHP as a service
using NSSM

 Open the installed folder.


 Select folder that matched
your operating system.
Installing PHP as a service
using NSSM, cont…

 Press Shift + RightClick


simultaneously.
 Select Open command
window here.
 Type nssm install.
Installing PHP as a service
using NSSM, cont…
Select php-cgi.exe

Select PHP folder

After everything is
done, click here to
install NGINX
service

Type “-b 127.0.0.1:9000 -c c:\nginx\php\php.ini”

Type the service name, i.e. “PHP Service”


Running NGINX and PHP
Services

 Press Windows Key + R


simultaneously.
 Type services.msc.
 Select PHP Service, and click Start.
 Select NGINX Service, and click
Start.
 To stop the service, select the service
and click Stop.
Important !!!

 You should run the PHP service prior


to NGINX service.
 Failed to do so can result that NGINX
unable to recognize the PHP service.
 You can test your services by
browsing to localhost (127.0.0.1).

You might also like