Liferay6.2环境搭建及详细配置精讲

This post is for you - if you are new to Liferay Portal, but you already have enough experience with Java development using Eclipse.

If you are new to portal, then read what is portal? If you are new to Liferay portal, then readwhat is Liferay Portal? But most of time, we don't understand all theoretical fundamentals until we try something practically. So first attempt should be to setup Liferay environment. There aremultiple options available for Liferay Development, which are covered at depth in developer guide (refer those if you are a beginner java developer).

If you already have good experience with Eclipse IDE and Java development, you can start with Liferay portal development using Eclipse just by following below quick steps.

Environment - Windows 7, Liferay 6.2 CE Bundled with Tomcat, Eclipse Kepler [***NOTE - I have used mentioned environment, but similar steps should work even if you use different OS or Eclipse version]

Step 1 - Make sure you have a supported Java JRE and Eclipse release already installed on your machine
  • Java 6.0 JRE or greater.
  • Liferay IDE must be run in one of the following Eclipse releases: Eclipse Kepler Java EE (4.3.x), Eclipse Juno Java EE (4.2.x), Eclipse Indigo Java EE (3.7.x)

Step 2 - DownloadLiferay & unzip those in your choice of folder (e.g. you may create "Liferay_LAB" folder)
  • Portal Bundled with Tomcat (or your choice of server container) as a Liferay runtime environment --- liferay-portal-tomcat-6.2.0-ce-ga1-20131101192857659.zip
  • Plugins SDK (software development kit) to develop custom plugins (e.g. portlets, hooks, ext, themes, layout) and deploy on Liferay server --- liferay-plugins-sdk-6.2.0-ce-ga1-20131101192857659.zip
  • Portal Documentation --- liferay-portal-doc-6.2.0-ce-ga1-20131101192857659.zip
  • Portal Source Code of CE (community edition) --- liferay-portal-src-6.2.0-ce-ga1-20131101192857659.zip


Step 3 - Setup Liferay Portal
  • By default it comes with embedded "HSQL" database. However I recommend to configuration it to use your choice of database such as MySQL or MSSQL (Liferay supports range of databases, but for exact supported version you need to refer "Liferay support matrix").
  • Portal custom configuration and change database from default "HSQL" to other database:
    1. Create new database with name "lportal62" (or any name you can give) in your selected DB.
    2. Create new "portal-ext.properties" file in root folder of your Liferay portal server (in the unzipped folder of "liferay-portal-tomcat-6.2.0-ce-ga1-20131101192857659.zip").
    3. Add below configuration in "portal-ext.properties" file (update it as per your settings). Below configuration is for MySQL, but if you select any other then accordingly mention appropriate values of "jdbc.default.driverClassName" and "jdbc.default.url".

# Liferay portal root folder location
liferay.home=D:/Tirthal-LABs/Liferay/liferay-portal-6.2.0-CE-GA1/

# MySQL database configuration
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/lportal62?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=xxxxx
jdbc.default.password=xxxxx


  • Start Liferay Portal - Go to bin folder in tomcat (e.g. liferay-portal-6.2.0-CE-GA1\tomcat-7.0.42\bin) - Run "startup.bat". Wait… wait… It would take few minutes to create required database tables and start the server. When you start liferay portal for the first time, you would see sequence of events as per below screens.
    • Database tables are created.
    • Some of out-of-box portlet applications are deployed in liferay server and at the end server started successfully.
    • Automatically it would open browser with default Liferay screen (If you close by mistake, you can always open it using http://localhost:8080/ url). Now you just validate click "Finish Configuration", which would again take few minutes.

    • Now you would see "finished adding data" message.
    • Then you would see this page in browser (showing file location where it saved setup wizard settings). Next you just need to click "Go to My Portal".
    • Now click "Agree" button and then in next screen save "Password Reminder" answer.
    • Congratulations… Finally you would get "Welcome" page of Liferay. If you wish to explore out-of-the-box (OOTB) features of Liferay 6.2, then you can refer Liferay 6.2 User Guide.
  • Stop Liferay Portal - Go to bin folder in tomcat (e.g. liferay-portal-6.2.0-CE-GA1\tomcat-7.0.42\bin) - Run "shutdown.bat". In 2-3 minutes, it would stop server and close the command prompt. That's it. [***NOTE - Stop server without fail, as in next step we'll integrate it in Eclipse IDE to start/stop using Eclipse during development.]

Step 4 - Install Liferay Plugins in your Eclipse IDE (3.7 or greater) in same way you install other Eclipse plugins

Step 5  - Setup Eclipse IDE for Liferay Development Environment
  • Configure new Liferay Server = Windows -> Preferences -> Liferay -> Create new Liferay Server -> Select Liferay v6.2 CE Server (Tomcat7) and click Next -> Select Liferay Tomcat directory and click Next -> Select Liferay Javadoc and source code -> click Finish.
  • Configure  new Liferay Plugin SDK  = Windows -> Preferences -> Liferay -> Installed Plugin SDK -> Add (configure unzipped Liferay plugin SDK folder o n your machine as per below screen) -> OK.
Now create a new "build.<username>.properties" (where <username> must match with OS username, for example in Windows OS you can get it by executing "echo %username%" on command prompt) file in your Liferay plugins SDK folder. For example, I created "build.tirthalp.properties" file. Then you can open default "build.xml" file and put required properties to overwrite in "build.<username>.properties" file. For example, I overwritten "app.server.parent.dir=xxxxxxxxxxx", "database.name=lportal62" and "database.types=mysql" to match values with my development setup.


*** NOTE  - Liferay plugins SDK would facilitate you to create different types of Liferay plugins and deploy it directly in Liferay server using Eclipse IDE, hence ensure doing correct configuration of "build.<username>.properties" file. But at this stage, don't worry about all details of liferay plugins sdk!
  • Start the Liferay server in same way you start any integrated server in Eclipse & wait for 2-5 minutes. On successful server startup, you  would see "server startup in x ms" message in Console. [***NOTE: This step would create "portal-ide.properties" file automatically in root folder of Liferay portal server. E.g. D:\Tirthal-LABs\Liferay\liferay-portal-6.2.0-CE-GA1\portal-ide.properties).
  • Now open "http://localhost:8080/" url in browser and in less than 1-2 minutes you should see default liferay page. Then you can sign-in using default credentials - test@liferay.com / test (email/password).

  • Excellent... You completed one time setup steps for Liferay development environment and ready to develop projects for customization/extension of default features of Liferay portal. Now next step would allow you quickly achieve "Hello World" application in Liferay. Then you can refer Liferay 6.2 Developer's Guide to understand different Liferay plug-ins (such as portlets, themes, layouts, hooks and ext) development methodology.


Step 6 - Hello World portlet application - Create, deploy and test in Liferay server

  • In Eclipse - Create new Liferay Plugin Project as shown below (or alternatively using File -> New -> Liferay Plugin Project).

  • Enter project name as "FirstHelloWorld" and ensure to select the plugin type as "Portlet". Based on previous configurations, other options would be selected automatically such as default location, Plugins type, Liferay runtime. Now click Next.

  • Just click "Finish" to create Liferay MVC portlet project.

  • You would need to wait for few minutes, until it downloads required dependencies using Ivy. At the end you would see "BUILD SUCCESSFUL" message in Console and "FirstHelloWorld-portlet" project in Package Explorer / Navigator view. The project is located in "portlets" folder of your Liferay Plugins SDK project. Before you proceed to next step, again validate that you didn't miss to add "build.<username>.properties file as mentioned in step-5, because that is required to deploy this portlet in Liferay server using SDK as shown in next step.

  • Select "FirstHelloWorld-portlet" and right click Menu would show "Liferay". Click SDK -> deploy.

  • It would build the project and copy "FirstHelloWorld-portlet-6.2.0.1.war" file in Liferay portal server. You would see below messages in Console.

  • In Liferay server log, you should see messages as below. The "1 portlet for FirstHelloWorld-portlet is available for use" message confirms that it registered and deployed successfully in server.

  • Now open "http://localhost:8080/" url in the browser and sign-in using default credentials - test@liferay.com / test (email/password). Then click "+" icon to add created "My First Hello World" portlet application in page of site. Once you add it, you will get some of configuration options for that application. If you sign out, you would not get all such administration options. In short, you already get many out-of-box applications in left panel categories, which you can just add in your page same way you added "My First Hello World" application. It's really easy, so try to add and explore some of out-of-box applications. 


1 What is Liferay? 1 1.1 Building a site with Liferay Web Content . . . . . . . . . . . . . . . . . 1 1.2 Using Liferay Portal as a collaborative platform . . . . . . . . . . . . . . 6 1.3 Using Liferay as a social platform . . . . . . . . . . . . . . . . . . . . . 7 1.4 Using Liferay as a web platform . . . . . . . . . . . . . . . . . . . . . . 8 1.5 Extending and customizing Liferay for your own needs . . . . . . . . . 10 1.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2 Web Content Management 13 2.1 Touring Liferay Portal’s User Interface . . . . . . . . . . . . . . . . . . 14 2.2 Setting up the Lunar Resort Example Portal . . . . . . . . . . . . . . . . 14 2.3 Leveraging Liferay’s Multi-site Capabilities . . . . . . . . . . . . . . . . 15 2.4 Features of Liferay’s WCM . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.5 Using Liferay’s Workflow with WCM . . . . . . . . . . . . . . . . . . . 45 2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3 Advanced Web Content Management 49 3.1 Advanced Content with Structures and Templates . . . . . . . . . . . . 49 3.2 Managing RSS Feeds in Liferay . . . . . . . . . . . . . . . . . . . . . . 59 3.3 Using Site Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.4 Using Page Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.5 Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.6 Allowing Users to Customize Site Pages . . . . . . . . . . . . . . . . . . 74 3.7 Scheduling Web Content . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.8 Staging Page Publication . . . . . . . . . . . . . . . . . . . . . . . . . . 76 i 3.9 Creating Teams for Advanced Site Membership Management . . . . . . 86 3.10 Displaying Site Pages to Mobile Devices . . . . . . . . . . . . . . . . . . 86 3.11 Liferay Monitoring using Google Analytics . . . . . . . . . . . . . . . . 91 3.12 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4 Configuring Liferay Applications 93 4.1 Look and Feel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.2 Export/Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4.3 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.4 Archived Setups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.5 Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.6 Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.7 Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.8 Recycling Assets with the Recycle Bin . . . . . . . . . . . . . . . . . . . 105 4.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5 Document Management 113 5.1 Getting Started with the Documents and Media Portlet . . . . . . . . . . 113 5.2 Document Types and Metadata Sets . . . . . . . . . . . . . . . . . . . . 116 5.3 Alternative File Repository Options . . . . . . . . . . . . . . . . . . . . 119 5.4 Using External Repositories . . . . . . . . . . . . . . . . . . . . . . . . 119 5.5 Configuring the Documents and Media portlet . . . . . . . . . . . . . . 124 5.6 Automatic Previews and metadata . . . . . . . . . . . . . . . . . . . . . 125 5.7 Liferay Sync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 5.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6 Displaying Content Dynamically 141 6.1 Tagging and Categorizing Content . . . . . . . . . . . . . . . . . . . . 141 6.2 Searching for Content in Liferay . . . . . . . . . . . . . . . . . . . . . . 145 6.3 Using the Asset Publisher . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.4 Defining Content Relationships . . . . . . . . . . . . . . . . . . . . . . 167 6.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 7 Targeting Content To Your Audience 169 7.1 Installation and Uninstallation . . . . . . . . . . . . . . . . . . . . . . . 170 7.2 Managing User Segments . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.3 Managing Campaigns . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 7.4 Using the Audience Targeting Applications . . . . . . . . . . . . . . . . 177 7.5 Simulating User Segments and Campaigns . . . . . . . . . . . . . . . . 181 7.6 Liferay Audience Targeting Rules . . . . . . . . . . . . . . . . . . . . . 181 7.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 8 Personalization and Customization 187 8.1 User Personal Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 8.2 Page Customizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 8.3 Using Application Display Templates . . . . . . . . . . . . . . . . . . . 191 8.4 Using Liferay’s rules engine . . . . . . . . . . . . . . . . . . . . . . . . 196 8.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 9 Collaboration Suite 203 9.1 Expressing Yourself Using Blogs . . . . . . . . . . . . . . . . . . . . . . 203 9.2 Managing Events and Resources with Liferay’s Calendar Portlet . . . . . 211 9.3 Discuss, Ask, and Answer Using the Message Boards . . . . . . . . . . . 221 9.4 Working together with the Wiki . . . . . . . . . . . . . . . . . . . . . . 233 ii 9.5 Find out what others think or do using Polls . . . . . . . . . . . . . . . . 239 9.6 Sending Alerts and Announcements in Your Portal . . . . . . . . . . . . 242 9.7 Staying in touch with the Chat . . . . . . . . . . . . . . . . . . . . . . . 246 9.8 Integrating your email with Liferay Mail . . . . . . . . . . . . . . . . . 249 9.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 10 Social Networking 253 10.1 Leveraging Social Portlets, Activities Tracking, and User Connections . . 254 10.2 Measuring Social Activity . . . . . . . . . . . . . . . . . . . . . . . . . 263 10.3 Exporting Portal Apps as Widgets and OpenSocial Gadgets . . . . . . . 265 10.4 Integrating with Facebook . . . . . . . . . . . . . . . . . . . . . . . . . 275 10.5 Integrating with Twitter . . . . . . . . . . . . . . . . . . . . . . . . . . 276 10.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 11 Using Web Forms and Dynamic Data Lists 279 11.1 Building a List Platform in Liferay and Defining Data Types . . . . . . . 279 11.2 Creating Data Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 11.3 Make it Pretty: Creating Custom Displays . . . . . . . . . . . . . . . . . 286 11.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 12 Using Workflow 297 12.1 Enabling workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 12.2 Creating new workflow definitions . . . . . . . . . . . . . . . . . . . . 298 12.3 Configuring assets to use workflow process definitions . . . . . . . . . . 306 12.4 Using workflow with other applications . . . . . . . . . . . . . . . . . . 309 12.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 13 Kaleo Forms: Defining Business Processes 313 13.1 Kaleo Forms Admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313 13.2 Kaleo Forms Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 13.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 14 Liferay Utility Applications 323 14.1 Capturing Web Sites with the Bookmarks Portlet . . . . . . . . . . . . . 323 14.2 Creating Your Own Plugin Repository . . . . . . . . . . . . . . . . . . . 328 14.3 Shopping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 14.4 Generating Reports in Liferay . . . . . . . . . . . . . . . . . . . . . . . 344 14.5 Knowledgebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351 14.6 Akismet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 14.7 Weather . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 14.8 OAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 14.9 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 15 Leveraging the Liferay Marketplace 363 15.1 Marketplace Concepts: Users, Companies, and Apps . . . . . . . . . . . 363 15.2 Accessing the Liferay Marketplace . . . . . . . . . . . . . . . . . . . . . 364 15.3 Finding Apps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370 15.4 Downloading and Installing Apps . . . . . . . . . . . . . . . . . . . . . 372 15.5 Creating and Uploading Apps . . . . . . . . . . . . . . . . . . . . . . . 375 15.6 Plugin Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 15.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 16 User Management 385 16.1 The Users Section of the Control Panel . . . . . . . . . . . . . . . . . . 385 iii 16.2 User Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 16.3 Roles and Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 16.4 Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 16.5 Audit Trails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 16.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411 17 Using the Control Panel 413 17.1 Configuring Portal Settings . . . . . . . . . . . . . . . . . . . . . . . . 413 17.2 Integrating Existing Users into Liferay . . . . . . . . . . . . . . . . . . 416 17.3 Configuring Additional Portal Settings . . . . . . . . . . . . . . . . . . 429 17.4 Custom Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 17.5 Server Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 17.6 Portal Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 17.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 II Deploying Liferay Portal 441 18 Installation and Setup 443 18.1 Editions of Liferay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 18.2 Obtaining Liferay Portal . . . . . . . . . . . . . . . . . . . . . . . . . . 444 18.3 Liferay installation overview . . . . . . . . . . . . . . . . . . . . . . . . 444 18.4 Liferay’s database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 18.5 Liferay Marketplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 18.6 Liferay Home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 18.7 Configuring Liferay Portal Security . . . . . . . . . . . . . . . . . . . . 448 18.8 Choosing IPv4 or IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 18.9 Installing a bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449 18.10 App Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 18.11 Installing Liferay on an existing application server . . . . . . . . . . . . 452 18.12 Installing Liferay on Mulesoft Tcat . . . . . . . . . . . . . . . . . . . . . 453 18.13 Installing Liferay on GlassFish 4 . . . . . . . . . . . . . . . . . . . . . . 458 18.14 Installing Liferay on JBoss 7.1 . . . . . . . . . . . . . . . . . . . . . . . 464 18.15 Installing Liferay on Tomcat 7 . . . . . . . . . . . . . . . . . . . . . . . 474 18.16 Installing Liferay on Oracle WebLogic 12c (12.1.2 and higher) . . . . . . . 481 18.17 Installing Liferay on WebSphere 8.5 . . . . . . . . . . . . . . . . . . . . 486 18.18 Using Liferay’s setup wizard . . . . . . . . . . . . . . . . . . . . . . . . 493 18.19 Manual Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 18.20 Making Liferay Coexist with Other Java EE Applications . . . . . . . . . 496 18.21 Understanding Liferay’s Releases . . . . . . . . . . . . . . . . . . . . . 496 18.22 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 19 Advanced Portal Operation 499 19.1 Backing up a Liferay Installation . . . . . . . . . . . . . . . . . . . . . . 499 19.2 Liferay’s Logging System . . . . . . . . . . . . . . . . . . . . . . . . . . 501 19.3 Patching Liferay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503 19.4 Upgrading Liferay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 19.5 Sandboxing Portlets to Ensure Portal Resiliency . . . . . . . . . . . . . 513 19.6 Using Web Services for Remote Portlets (WSRP) . . . . . . . . . . . . . 521 19.7 Remotely Accessing Liferay Services . . . . . . . . . . . . . . . . . . . . 524 19.8 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 20 Using Scripting for Advanced Flexibility 529 20.1 Accessing Liferay Services . . . . . . . . . . . . . . . . . . . . . . . . . 529 iv 20.2 Running Scripts from the Control Panel . . . . . . . . . . . . . . . . . . 531 20.3 Leveraging the Script Engine in Workflow . . . . . . . . . . . . . . . . 532 20.4 Custom Java Tools in the Script Engine . . . . . . . . . . . . . . . . . . 534 20.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538 21 Managing Liferay with Liferay Cloud Services 539 21.1 Setting up Your LCS Account . . . . . . . . . . . . . . . . . . . . . . . . 540 21.2 Preconfiguring Your Portal for LCS . . . . . . . . . . . . . . . . . . . . 543 21.3 Configuring the Patching Tool . . . . . . . . . . . . . . . . . . . . . . . 543 21.4 Configuring the LCS Client . . . . . . . . . . . . . . . . . . . . . . . . . 544 21.5 Using LCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 22 Configuring Liferay for High Availability 557 22.1 Liferay Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558 22.2 Performance Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576 22.3 Content Delivery Network . . . . . . . . . . . . . . . . . . . . . . . . . 580 22.4 Summary
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值