LNMP configuration + yii environment
1. Configuration environment
(1)Ubuntu14.04 x86_64 [Kernel Version: 3.16.0-30-generic]
(2)Nginx1.4.6
(3) MySQL5.5
(4)PHP5.5.9
2. Installation method
For the time being, source code compilation and installation are not used. Use apt-get install method to install. In order to meet custom needs in the future, it is best to create a deb installation package.
3. Specific installation process
(1)MySQL
# apt-get install mysql-server php5-mysql ## During the installation process, you will be prompted to set the root user password of mysql
(2)Nginx
#ap t-get install php5-fpm php5-cli (4) Yii Go to the Yii official website to download the Yii framework source code, unzip it in the /var/www/ directory, and change the file name to yii. I am using version yii1.1.16. 4. Configuration The main purpose of configuration is to hide the index.php in the Yii framework URL; for the configuration of Nginx and PHP, there is a lot of information online. (1)Nginx
server { listen 80 default_server; #listen [::]:80 default_server ipv6 ## listen for ipv6 root /var/www/; index index.html index.htm index.php; # Make site accessible from http://localhost/ server_name localhost; set $yii_bootstrap "index.php"; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. #try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules try_files $uri $uri/ /$yii_bootstrap?$args; } #avoid processing of calls to unexisting static files by yii location ~ ^/(protected|framework|themes/\w+/views) { deny all; } location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { try_files $uri =404; } # Only for nginx-naxsi used with nginx-naxsi-ui : process denied requests #location /RequestDenied { # proxy_pass http://127.0.0.1:8080; #} error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/html; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini #let yii catch the calls to unexising PHP files set $fsn /$yii_bootstrap; if (-f $document_root$fastcgi_script_name){ set $fsn $fastcgi_script_name; } # With php5-cgi alone: #fastcgi_pass 127.0.0.1:9000; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; #fastcgi_index index.php; include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fsn; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fsn; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} location ~ /\. { deny all; access_log off; log_not_found off; } }
Main referenceGetting Started - Apache and Nginx configurations - Nginx Nginx can start normally
(2)PHP
Find the cgi.fix_pathinfo option, Uncomment and change the value of
cgi.fix_pathinfo to 0Create a new testphp.php in the /var/www/ directory, the content is
<span style="white-space:pre"> <?php
  </span> <span style="white-space:pre">phpinfo();
?></span>
(1) Whether the website can work
The website
There is no problem with the home page, but there are 404 errors after clicking on all menus
The following is the configuration of the Yii project url (protected/config/main.php)
The following is the path to the menu bar Configuration
(2) Hide index.php in Yii url
Previously, the nginx configuration was configured according to the yii official document, but it was of no use. Google searched a lot of information, nothing more than modifying the configuration in "location /".
1) Solution 1
location /{
try_files $uri $uri/ /index.php?$request_uri;
}
Tips
$yii_bootstrap variable content is inde.phpBut there is still a 404 error
2) Solution 2
alsorandom eggs 5. Conclusion: I have to change to Apache
This is good With the official link provided previously, you can Solve the problem
Copyright statement: This article is an original article by the blogger and may not be reproduced without the blogger's permission.
The above introduces the LNMP configuration + yii environment, including aspects of the content. I hope it will be helpful to friends who are interested in PHP tutorials.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP is used to build dynamic websites, and its core functions include: 1. Generate dynamic content and generate web pages in real time by connecting with the database; 2. Process user interaction and form submissions, verify inputs and respond to operations; 3. Manage sessions and user authentication to provide a personalized experience; 4. Optimize performance and follow best practices to improve website efficiency and security.

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

PHP uses MySQLi and PDO extensions to interact in database operations and server-side logic processing, and processes server-side logic through functions such as session management. 1) Use MySQLi or PDO to connect to the database and execute SQL queries. 2) Handle HTTP requests and user status through session management and other functions. 3) Use transactions to ensure the atomicity of database operations. 4) Prevent SQL injection, use exception handling and closing connections for debugging. 5) Optimize performance through indexing and cache, write highly readable code and perform error handling.

PHP is a server-side scripting language used for dynamic web development and server-side applications. 1.PHP is an interpreted language that does not require compilation and is suitable for rapid development. 2. PHP code is embedded in HTML, making it easy to develop web pages. 3. PHP processes server-side logic, generates HTML output, and supports user interaction and data processing. 4. PHP can interact with the database, process form submission, and execute server-side tasks.

PHP is suitable for web development and content management systems, and Python is suitable for data science, machine learning and automation scripts. 1.PHP performs well in building fast and scalable websites and applications and is commonly used in CMS such as WordPress. 2. Python has performed outstandingly in the fields of data science and machine learning, with rich libraries such as NumPy and TensorFlow.

You can query the Docker container name by following the steps: List all containers (docker ps). Filter the container list (using the grep command). Gets the container name (located in the "NAMES" column).

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

The core benefits of PHP include ease of learning, strong web development support, rich libraries and frameworks, high performance and scalability, cross-platform compatibility, and cost-effectiveness. 1) Easy to learn and use, suitable for beginners; 2) Good integration with web servers and supports multiple databases; 3) Have powerful frameworks such as Laravel; 4) High performance can be achieved through optimization; 5) Support multiple operating systems; 6) Open source to reduce development costs.
