(init) |
m (update layout and other small things) |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
This is the procedures for deploying a nginx server which supports PHP, with fewest steps and shortest time on Fedora 17. For advanced configurations please check out references | This is the procedures for deploying a nginx server which supports PHP, with fewest steps and shortest time on Fedora 17. For advanced configurations please check out online references. Assume root directory of the web site is '''/var/www/html'''. | ||
== Procedures == | == Procedures == | ||
Log in as "root" user: | |||
$ su - | |||
$ su - | Install required packages and their dependencies: | ||
# yum install nginx php-cli php-fpm | |||
Open the /etc/nginx/nginx.conf file with text editor: | |||
# vi /etc/nginx/nginx.conf | |||
Customize the web root directory and adding index.php as default web pages, by changing the upper into the lower: | |||
<pre> | |||
location / { | |||
root html; | |||
index index.html index.htm; | |||
</pre> | } | ||
</ | </pre> | ||
< | <pre> | ||
location / { | |||
root /var/www/html; | |||
index index.html index.htm index.php; | |||
} | |||
</pre> | |||
Enable PHP by uncommenting the following lines: | |||
<pre> | |||
location ~ \.php$ { | |||
root html; | |||
fastcgi_pass 127.0.0.1:9000; | |||
fastcgi_index index.php; | |||
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; | |||
include fastcgi_params; | |||
} | |||
</pre> | |||
Customize the root directory of PHP and correct the SCRIPT_FILENAME, by changing the lines in last step into: | |||
<pre> | |||
location ~ \.php$ { | |||
root /var/www/html; | |||
fastcgi_pass 127.0.0.1:9000; | |||
fastcgi_index index.php; | |||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | |||
include fastcgi_params; | |||
} | } | ||
</pre> | |||
Start/restart the nginx service: | |||
# systemctl start nginx.service | |||
and enable it: | |||
# systemctl enable nginx.service | |||
Start the php-fpm - PHP FastCGI Process Manager: | |||
# systemctl start php-fpm.service | |||
and enable it: | |||
# systemctl enable php-fpm.service | |||
Open the port on the firewall for the incoming connection: | |||
# firewall-cmd --permanent --add-service=http | |||
and then reload it: | |||
# firewall-cmd --reload | |||
Create a php_info.php in the web site root directory with contents: | |||
<pre> | |||
<?php | |||
echo phpinfo(); | |||
?> | |||
</pre> | |||
Visit the php_info.php file on the server with web browser for the results. | |||
<?php echo phpinfo(); ?> | |||
== PHP-FPM == | == PHP-FPM == | ||
You can make php-fpm starts when system boot and auto-re-spawn it when it crashed. Check out spawn-fcgi for more information. | You can make php-fpm starts when system boot and auto-re-spawn it when it crashed. Check out spawn-fcgi for more information. | ||
[[Category: Web]] | [[Category: Web]] |
Latest revision as of 16:52, 14 December 2014
Introduction
This is the procedures for deploying a nginx server which supports PHP, with fewest steps and shortest time on Fedora 17. For advanced configurations please check out online references. Assume root directory of the web site is /var/www/html.
Procedures
Log in as "root" user:
$ su -
Install required packages and their dependencies:
# yum install nginx php-cli php-fpm
Open the /etc/nginx/nginx.conf file with text editor:
# vi /etc/nginx/nginx.conf
Customize the web root directory and adding index.php as default web pages, by changing the upper into the lower:
location / { root html; index index.html index.htm; }
location / { root /var/www/html; index index.html index.htm index.php; }
Enable PHP by uncommenting the following lines:
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; }
Customize the root directory of PHP and correct the SCRIPT_FILENAME, by changing the lines in last step into:
location ~ \.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Start/restart the nginx service:
# systemctl start nginx.service
and enable it:
- systemctl enable nginx.service
Start the php-fpm - PHP FastCGI Process Manager:
# systemctl start php-fpm.service
and enable it:
- systemctl enable php-fpm.service
Open the port on the firewall for the incoming connection:
# firewall-cmd --permanent --add-service=http
and then reload it:
# firewall-cmd --reload
Create a php_info.php in the web site root directory with contents:
<?php echo phpinfo(); ?>
Visit the php_info.php file on the server with web browser for the results.
PHP-FPM
You can make php-fpm starts when system boot and auto-re-spawn it when it crashed. Check out spawn-fcgi for more information.