Table of Contents
Welcome to nginx!
Home Backend Development PHP Problem How to install and configure PHP+Nginx on Linux

How to install and configure PHP+Nginx on Linux

Jul 13, 2020 pm 02:15 PM
linux nginx php Installation configuration

How to install and configure PHP Nginx on Linux: first install PHP; then install Nginx; then Nginx and PHP complete data requests through the 9000 port of the machine; and finally complete the test.

How to install and configure PHP+Nginx on Linux

Linux installation and configuration method of PHP Nginx:

1. PHP installation

1. Install php7.0

Software download # wget http://cn2.php.net/distributions/php-7.0.4.tar.gz

Check and install dependent packages

[root@ser3 Desktop]# rpm -qa libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 curl-devel libxslt-devel openssl-devel    
[root@ser3 Desktop]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxslt-devel openssl-devel    
[root@ser3 Desktop]# tar xf php-7.0.4.tar.gz    
[root@ser3 Desktop]# cd php-7.0.4    
[root@ser3 php-7.0.4]# ./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc  --with-curl  --with-freetype-dir  --with-gd  --with-gettext  --with-iconv-dir  --with-kerberos  --with-libdir=lib64  --with-libxml-dir  --with-mysqli  --with-openssl  --with-pcre-regex  --with-pdo-mysql  --with-pdo-sqlite  --with-pear  --with-png-dir  --with-xmlrpc  --with-xsl  --with-zlib --with-zlib-dir --with-mhash --with-mcrypt --with-openssl-dir --with-jpeg-dir --enable-gd-jis-conv  --enable-fpm  --enable-bcmath  --enable-libxml  --enable-inline-optimization  --enable-gd-native-ttf  --enable-mbregex  --enable-mbstring  --enable-opcache  --enable-pcntl  --enable-shmop  --enable-soap  --enable-sockets  --enable-sysvsem  --enable-xml  --enable-zip
[root@ser3 php-7.0.4]# make    
[root@ser3 php-7.0.4]# make  test    
[root@ser3 php-7.0.4]# make install
Copy after login

2. Set up the configuration file

[root@ser3 php-7.0.4]# cp php.ini-production /usr/local/php7/etc/php.ini
Copy after login

php.ini-development Suitable for development Testing, such as local testing environment, php.ini-production has higher security settings, suitable for server online operation as a product. Generally, modify php.ini-production to php.ini, which is more secure and ensures that the test environment (local) and the official environment (online) are consistent

[root@ser3 php-7.0.4]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
[root@ser3 php-7.0.4]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf    
[root@ser3 php-7.0.4]# cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
Copy after login

3. Join the startup service

[root@ser3 php-7.0.4]# chmod +x /etc/init.d/php-fpm    
[root@ser3 php-7.0.4]# chkconfig --add php-fpm
Copy after login

Note that the www.conf configuration file in php7 configures the port number and other information of phpfpm. If you modify the default 9000 port number, you need to change it here, and then change the nginx configuration

4. Start the php service

[root@ser3 php-7.0.4]# /etc/init.d/php-fpm start
[root@ser3 php-7.0.4]# ps -ef | grep php-fpm
Copy after login

2. Nginx installation

1 .Software download:

wget http://nginx.org/download/nginx-1.6.2.tar.gz Directly use the command to download on Linux

2. Install dependencies Package pcre and dependent software

Before installing nginx, make sure you have installed# rpm -qa gcc openssl-devel pcre zlib-develSoftware library
Installing the pcre library is to enable Nginx Supports HTTP Rewriter module. If pcre does not have this installation package by default, you need to download and install it manually.

3. Optimize the installation package before installation

(Compilation and installation process optimization) Reduce the size of the compiled nginx file. When compiling nginx, the default In debug mode, a lot of tracking and ASSERT information will be inserted. After the compilation is completed,

[root@svr1 nginx-1.6.2]# vim auto/cc/gcc
# debug    
CFLAGS="$CFLAGS -g"
   注释或删除这两行,即可取消debug模式.
[root@svr1 nginx-1.6.2]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-openssl=/usr/local/openssl   
[root@svr1 nginx-1.6.2]# make && make install
[root@svr1 nginx-1.6.2]# ps -ef | grep nginx    
[root@svr1 nginx-1.6.2]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf   
[root@svr1 nginx-1.6.2]# curl -i 127.0.0.1    
......    
<body>    
<h1 id="Welcome-nbsp-to-nbsp-nginx">Welcome to nginx!</h1>    
If you see this page, the nginx web server is successfully installed and    
......
Copy after login

The test i page will show that there is no problem with the nginx installation

3. Integrate Nginx and PHP

Nginx itself does not process requests for dynamic web pages, and Nginx transfers the dynamic requests to PHP. Nginx configuration file

# vim /usr/local/nginx/conf/nginx.conf       //标的部分是我们后面要修改的
Copy after login

How to install and configure PHP+Nginx on Linux

Looking at the picture above, Nginx already knows how to convey the request to PHP. When Nginx gets the *.php request, it will pass the request to PHP through port 9000. Now we can just remove these comments, as shown in the picture below

How to install and configure PHP+Nginx on Linux

As shown in the picture above, we have seen before that Nginx requests PHP through the 9000 port of the machine. Forwarded to PHP, and in the picture above we can see that PHP listens to data from the 9000 port of the local machine, and Nginx and PHP complete the data request through the 9000 port of the local machine.

4. Test

We have defined the storage path of the PHP website in the nginx configuration file. The path is /usr /local/nginx/html

Let’s create a new PHP page test page in this directory. The file name is test.php and the content is as follows

<?php 
     phpinfo(); 
?> 
关闭php
killall php-fpm
php重启
/usr/local/php7/sbin/php-fpm &
关闭nginx
/usr/local/nginx/sbin/nginx -s stop       //关闭服务器
重启nginx
/usr/local/nginx/sbin/nginx       开启服务器
Copy after login

After restarting PHP and nginx, we Enter http://localhost/test.php in the browser. If the following interface appears, it is considered successful.

How to install and configure PHP+Nginx on Linux

Related learning recommendations: PHP programming from entry to proficiency

The above is the detailed content of How to install and configure PHP+Nginx on Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1269
29
C# Tutorial
1249
24
Linux Architecture: Unveiling the 5 Basic Components Linux Architecture: Unveiling the 5 Basic Components Apr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

Docker on Linux: Containerization for Linux Systems Docker on Linux: Containerization for Linux Systems Apr 22, 2025 am 12:03 AM

Docker is important on Linux because Linux is its native platform that provides rich tools and community support. 1. Install Docker: Use sudoapt-getupdate and sudoapt-getinstalldocker-cedocker-ce-clicotainerd.io. 2. Create and manage containers: Use dockerrun commands, such as dockerrun-d--namemynginx-p80:80nginx. 3. Write Dockerfile: Optimize the image size and use multi-stage construction. 4. Optimization and debugging: Use dockerlogs and dockerex

The Compatibility of IIS and PHP: A Deep Dive The Compatibility of IIS and PHP: A Deep Dive Apr 22, 2025 am 12:01 AM

IIS and PHP are compatible and are implemented through FastCGI. 1.IIS forwards the .php file request to the FastCGI module through the configuration file. 2. The FastCGI module starts the PHP process to process requests to improve performance and stability. 3. In actual applications, you need to pay attention to configuration details, error debugging and performance optimization.

What happens if session_start() is called multiple times? What happens if session_start() is called multiple times? Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

NGINX and Apache: Understanding the Key Differences NGINX and Apache: Understanding the Key Differences Apr 26, 2025 am 12:01 AM

NGINX and Apache each have their own advantages and disadvantages, and the choice should be based on specific needs. 1.NGINX is suitable for high concurrency scenarios because of its asynchronous non-blocking architecture. 2. Apache is suitable for low-concurrency scenarios that require complex configurations, because of its modular design.

How to understand DMA operations in C? How to understand DMA operations in C? Apr 28, 2025 pm 10:09 PM

DMA in C refers to DirectMemoryAccess, a direct memory access technology, allowing hardware devices to directly transmit data to memory without CPU intervention. 1) DMA operation is highly dependent on hardware devices and drivers, and the implementation method varies from system to system. 2) Direct access to memory may bring security risks, and the correctness and security of the code must be ensured. 3) DMA can improve performance, but improper use may lead to degradation of system performance. Through practice and learning, we can master the skills of using DMA and maximize its effectiveness in scenarios such as high-speed data transmission and real-time signal processing.

Composer: Aiding PHP Development Through AI Composer: Aiding PHP Development Through AI Apr 29, 2025 am 12:27 AM

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

macOS vs. Linux: Exploring the Differences and Similarities macOS vs. Linux: Exploring the Differences and Similarities Apr 25, 2025 am 12:03 AM

macOSandLinuxbothofferuniquestrengths:macOSprovidesauser-friendlyexperiencewithexcellenthardwareintegration,whileLinuxexcelsinflexibilityandcommunitysupport.macOS,developedbyApple,isknownforitssleekinterfaceandecosystemintegration,whereasLinux,beingo

See all articles