Detailed explanation of how to build phalcon environment under nginx server on centos7 system

Detailed explanation of how to build phalcon environment under nginx server on centos7 system

This article describes how to build a phalcon environment under the nginx server of the centos7 system. Share with you for your reference, the details are as follows:

Previously, we used Apache server, but the response rate could only reach 2000 per second. I heard that nginx can easily reach 10,000.

So let’s try nginx.

Phalcon's official website has examples of nginx rewrite rules, but they are inconsistent with Apache's, which made me confused for a long time.

1. Add nginx source

vi /etc/yum.repos.d/nginx.repo

 [nginx]
   name=nginx-repo
   baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
   gpgcheck=0
   enabled=1

2. Modify the configuration of nginx

vi /etc/nginx/conf.d/default.conf
server {
  listen 80;
  server_name localhost.dev;
  index index.php index.html index.htm;
  root /var/www/html;
  location / {
    root /var/www/html; #phalcon official website is the public directory. If you use this directory, it will be different from the Apache configuration index index.php index.html index.htm;
    # If the file exists, return the file directly if (-f $request_filename) {
      break;
    }
    # If it does not exist, redirect to public/index.php
    if (!-e $request_filename) {
      rewrite ^(.+)$ /public/index.php?_url=$1 last;
      break;
    }
  }
  location ~ \.php$ {
      try_files $uri =404;
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
  }
  location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
    root /var/www/html/public;
  }
  location ~ /\.ht {
    deny all;
  }
}

3. Configuration of php-fpm

vi /etc/php-fpm.d/www.conf

Modify to user and user group

; RPM: apache Chooses to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

4. User group modification

chown -R nginx:nginx /var/lib/php/session/
chown -R nginx:nginx /var/www/html/

Restart nginx and php-fpm.

systemctl restart nginx
systemctl restart php-fpm

Further optimization and waiting for the next situation

I hope this article will be helpful for your centos server operations.

You may also be interested in:
  • Detailed tutorial on building Gitlab server on CentOS8.1
  • Implementation steps for building a local web server on Centos8
  • How to build mysql master-slave server on centos7 (graphic tutorial)
  • Detailed explanation of building Nginx website server based on centos7 (including configuration of virtual web host)
  • CentOS 7.2 builds nginx web server to deploy uniapp project
  • Tutorial on building a master-slave DNS server in Centos7
  • Install and build a server environment of PHP+Apache+MySQL on CentOS
  • A concise tutorial on setting up a PHP server environment on CentOS
  • Centos builds chrony time synchronization server process diagram

<<:  MySQL 8.0.13 free installation version configuration tutorial under Windows environment

>>:  In-depth explanation of MySQL user account management and permission management

Recommend

Modification of the default source sources.list file of ubuntu20.04 LTS system

If you accidentally modify the source.list conten...

How to quickly deploy Redis as a Docker container

Table of contents getting Started Data storage Co...

Nginx configuration location matching rules example explanation

The scope of nginx configuration instructions can...

HTML tag ID can be a variable

<table id=" <%=var1%>">, the...

WeChat applet tab left and right sliding switch function implementation code

Effect picture: 1. Introduction Your own applet n...

How to automatically number the results of MYSQL query data

Preface In fact, I have never encountered this ki...

Vue Beginner's Guide: Creating the First Vue-cli Scaffolding Program

1. Vue--The first vue-cli program The development...

How to explain TypeScript generics in a simple way

Table of contents Overview What are Generics Buil...

Several ways to implement inheritance in JavaScript

Table of contents Structural inheritance (impleme...

Syntax alias problem based on delete in mysql

Table of contents MySQL delete syntax alias probl...

How to use cc.follow for camera tracking in CocosCreator

Cocos Creator version: 2.3.4 Demo download: https...

CSS achieves the effect of aligning multiple elements at both ends in a box

The arrangement layout of aligning the two ends o...

Detailed use cases of vue3 teleport

Official Website https://cli.vuejs.org/en/guide/ ...