search
HomeOperation and MaintenanceNginxConcise tutorial: How to use NGINX and PM2 to quickly deploy applications on a VPS server

简明教程: 如何在VPS服务器上利用NGINX和PM2实现应用的快速部署

Concise Tutorial: How to use NGINX and PM2 to implement rapid application deployment on VPS servers

With the development of the Internet, more and more applications are deployed on On a Virtual Private Server (VPS). Rapidly deploying applications on VPS is an important and necessary skill for developers and operation and maintenance personnel.

This tutorial will guide you on how to use NGINX and PM2, two commonly used tools, to quickly deploy your application on a VPS server. First, we need to understand the basic concepts and usage of NGINX and PM2.

1. NGINX

NGINX is a high-performance web server and reverse proxy server. It can handle high-concurrency requests and serve static and dynamic content. In this tutorial, we will use NGINX as the entry point for our application and also configure it as a reverse proxy server.

The installation method of NGINX may vary depending on the server operating system. You can choose the appropriate installation method according to your server environment. After the installation is complete, we need to perform some basic configuration on NGINX.

First, we need to create an NGINX configuration file (for example: myapp.conf). In this configuration file, you need to specify the listening port number and domain name, as well as the address and port number of the application to which the reverse proxy is directed. The following is the content of a sample configuration file:

server {
    listen 80;
    server_name mydomain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
    }
}

Please note that in this example, we set the application address and port number to http://127.0.0.1:3000, in fact You need to replace it with the actual address and port number of your application.

After the configuration file is ready, save it in the NGINX configuration file directory (for example: /etc/nginx/conf.d/). Then, restart the NGINX service to make the configuration file take effect.

2. PM2

PM2 is a process management tool that can help you simplify the deployment and management of applications in a production environment. In this tutorial, we will use PM2 to launch our application and ensure that it continues to run in the background.

First, we need to install PM2 globally. You can install it by running the following command:

npm install -g pm2

After the installation is complete, we can use PM2 to start our application. Assuming your application is a Node.js server, you can use the following command to start it:

pm2 start app.js

If your application is an Express application, you can use the following command to start it:

pm2 start bin/www

PM2 also provides some other useful commands, such as listing all running applications, restarting applications, stopping applications, etc. You can get more help about PM2 commands by running the pm2 --help command.

3. Deploy applications

Now, you have installed NGINX and PM2 and completed their basic configuration. Next, let's deploy our application.

First, make sure your application has been uploaded to your VPS server. Then, create a new folder on your server to store your application.

Then, go into this folder and use the git clone command to clone the code from your code repository. Alternatively, you can copy your code files directly into this folder.

Next, install the dependencies required by the application. You can use the npm install command to install all dependencies.

Then, use PM2 to start your application. In your application directory, run pm2 start app.js or pm2 start bin/www, and choose the appropriate startup command according to your actual situation.

Finally, access your app using your domain name and if all goes well, you should be able to see your app running successfully in the browser.

4. Manually update the application

If your application needs to be updated manually while it is running, just use the git pull command in your application directory to pull it. Latest code. Then, use the pm2 restart app command to restart the application.

If your application does not use Git as the version control system, you can manually copy the new code files to the application directory, and then run the corresponding pm2 restart command to restart the application.

Summary

By simply configuring NGINX and using PM2 to deploy and manage applications, you can quickly deploy your application to a VPS server and run it stably in a production environment.

During the actual deployment process, we may also need to consider other issues, such as security, performance optimization, load balancing, etc. But in this tutorial, we only focus on the most basic deployment methods.

I hope this tutorial will help you deploy applications on your VPS server. If you have any questions about using NGINX and PM2, we recommend reading the official documentation for more detailed information. Good luck with your deployment on VPS!

The above is the detailed content of Concise tutorial: How to use NGINX and PM2 to quickly deploy applications on a VPS server. For more information, please follow other related articles on the PHP Chinese website!

Statement
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
NGINX and Apache: Deployment and ConfigurationNGINX and Apache: Deployment and ConfigurationMay 01, 2025 am 12:08 AM

NGINX and Apache each have their own advantages, and the choice depends on the specific needs. 1.NGINX is suitable for high concurrency, with simple deployment, and configuration examples include virtual hosts and reverse proxy. 2. Apache is suitable for complex configurations and is equally simple to deploy. Configuration examples include virtual hosts and URL rewrites.

NGINX Unit's Purpose: Running Web ApplicationsNGINX Unit's Purpose: Running Web ApplicationsApr 30, 2025 am 12:06 AM

The purpose of NGINXUnit is to simplify the deployment and management of web applications. Its advantages include: 1) Supports multiple programming languages, such as Python, PHP, Go, Java and Node.js; 2) Provides dynamic configuration and automatic reloading functions; 3) manages application lifecycle through a unified API; 4) Adopt an asynchronous I/O model to support high concurrency and load balancing.

NGINX: An Introduction to the High-Performance Web ServerNGINX: An Introduction to the High-Performance Web ServerApr 29, 2025 am 12:02 AM

NGINX started in 2002 and was developed by IgorSysoev to solve the C10k problem. 1.NGINX is a high-performance web server, an event-driven asynchronous architecture, suitable for high concurrency. 2. Provide advanced functions such as reverse proxy, load balancing and caching to improve system performance and reliability. 3. Optimization techniques include adjusting the number of worker processes, enabling Gzip compression, using HTTP/2 and security configuration.

NGINX vs. Apache: A Look at Their ArchitecturesNGINX vs. Apache: A Look at Their ArchitecturesApr 28, 2025 am 12:13 AM

The main architecture difference between NGINX and Apache is that NGINX adopts event-driven, asynchronous non-blocking model, while Apache uses process or thread model. 1) NGINX efficiently handles high-concurrent connections through event loops and I/O multiplexing mechanisms, suitable for static content and reverse proxy. 2) Apache adopts a multi-process or multi-threaded model, which is highly stable but has high resource consumption, and is suitable for scenarios where rich module expansion is required.

NGINX vs. Apache: Examining the Pros and ConsNGINX vs. Apache: Examining the Pros and ConsApr 27, 2025 am 12:05 AM

NGINX is suitable for handling high concurrent and static content, while Apache is suitable for complex configurations and dynamic content. 1. NGINX efficiently handles concurrent connections, suitable for high-traffic scenarios, but requires additional configuration when processing dynamic content. 2. Apache provides rich modules and flexible configurations, which are suitable for complex needs, but have poor high concurrency performance.

NGINX and Apache: Understanding the Key DifferencesNGINX and Apache: Understanding the Key DifferencesApr 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.

NGINX Unit: Key Features and CapabilitiesNGINX Unit: Key Features and CapabilitiesApr 25, 2025 am 12:17 AM

NGINXUnit is an open source application server that supports multiple programming languages ​​and provides functions such as dynamic configuration, zero downtime updates and built-in load balancing. 1. Dynamic configuration: You can modify the configuration without restarting. 2. Multilingual support: compatible with Python, Go, Java, PHP, etc. 3. Zero downtime update: Supports application updates that do not interrupt services. 4. Built-in load balancing: Requests can be distributed to multiple application instances.

NGINX Unit vs. Other Application ServersNGINX Unit vs. Other Application ServersApr 24, 2025 am 12:14 AM

NGINXUnit is better than ApacheTomcat, Gunicorn and Node.js built-in HTTP servers, suitable for multilingual projects and dynamic configuration requirements. 1) Supports multiple programming languages, 2) Provides dynamic configuration reloading, 3) Built-in load balancing function, suitable for projects that require high scalability and reliability.

See all articles

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 Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function