New Mac configuration PHP development environment tutorial, macphp development tutorial

Source: Internet
Author: User
Tags configuration php derick geoip install brew php and mysql php development environment brew cask

New Mac configuration PHP development environment tutorial, macphp development tutorial

I used Mac OS x for a year. I was not familiar with this system before. I used PHP and MySQL installed in the DMG package. It took a long time, I slowly felt that the speed of the MacBook couldn't keep up. Although there were not many shutdown times, the system was stuck for a certain period of time when I started the computer or woke up the computer. Especially when the instance is started. You can create a bucket. Therefore, remove the optical drive on MD101, replace the GB Sandisk SSD, and replace the original 2G 2 with 8G 2. The speed should be good. At least two more years of service.
Taking advantage of this opportunity to add a hard disk, we are ready to completely redo the development environment. Now I have a certain understanding of Mac, specifically record the installation details of this development environment, and give myself a memo, hoping to help me get started with Mac
Environment students. This development environment is all installed based on HomeBrew.
Major software versions: PHP5.5.14, Nginx 1.6.0, and MySQL5.6.19

OS X Mavericks
Reinstall the system, download the OS X Mavericks installation file from the Apple Store, and prepare a 16 GB USB flash drive. Create an OSX Mavericks USB flash drive.

Plug in the USB flash drive and run the following command on the terminal:

Copy codeThe Code is as follows:
Sudo/Applications/Install \ OS \ X \
Mavericks. app/Contents/Resources/createinstallmedia -- volume/Volumes/untitled
-- Applicationpath/Applications/Install \ OS \ X \ Mavericks. app -- nointeraction

Untitled is your USB drive letter, depending on the actual situation.

Copy codeThe Code is as follows:
Erasing Disk: 0%... 10%... 20%... 30%... 100%...
> Copying installer files to disk...
Copy complete.
Making disk bootable...
Copying boot files...
> Copy complete.
> Done.

The above information indicates that the boot disk has been created successfully. Install so easy :)

After the system is installed, the file has not been migrated yet. Due to my preference for photography, there are a large number of RAW source images in Aperture
The Nikon D800 RAW file is about 40 MB in the photo library, so you can migrate the Photo Library and the photo stream to avoid falling into the trap. After the development environment is ready, update OS X to 10.9.4.
Install the latest Xcode and the software you bought in the store. Make sure the system is correct. Proceed to the next step...

Brew
Brew is a package management tool under Mac. It manages Mac-compatible compilation configurations and patches through Github, allowing you to easily install development tools. Mac built-in ruby
So it is easy to install, and it will automatically install git for you. Official Website:

After the installation is complete, we recommend that you perform self-check. If brew doctor sees
Your system is ready tobrew. Then Your brew can be used.

Installation:
Copy codeThe Code is as follows:
Ruby-e "$ (curl-fsSL https://raw.github.com/mxcl/homebrew/go/install )"

Self-check:
Copy codeThe Code is as follows:
Brew doctor

Common commands: (all software uses PHP5.5 as an example)

Copy codeThe Code is as follows:
Brew update # update the brew installation package. It is recommended that you execute it each time.
Brew search php55 # search for php5.5
Brew tap maid/php # installation extension <gihhub_user/repo>
Brew tap # view the list of installed extensions
Brew install php55 # install php5.5
Brew remove php55 # uninstall php5.5
Brew upgrade php55 # upgrade php5.5
Brew options php55 # view php5.5 Installation options
Brew info php55 # view php5.5 related information
Brew home php55 # Visit the official php5.5 website
Brew services list # view services installed by the system through brew
Brew services cleanup # Clear useless STARTUP configuration files that have been uninstalled
Brew services restart php55 # restart php-fpm

Note: It is best not to use brew services-related commands frequently, prompting that the commands will be removed.

Copy codeThe Code is as follows:
~ Brew services restart php55
Warning: brew services is unsupported and will be removed soon.
You shoshould use launchctl instead.
Please feel free volunteer to support it in a tap.

Stopping 'php55'... (might take a while)
==> Successfully stopped 'php55' (label: homebrew. mxcl. php55)
==> Successfully started 'php55' (label: homebrew. mxcl. php55)

Oh My Zsh
The ohmyzsh & iTerm2 Artifacts must be installed in Mac OS x. These two artifacts are used together with the plug-in. It is a God-like existence. Second kill Messi, Neymar Ah :)
Oh, go to the official website.

Install oh my zsh
Copy codeThe Code is as follows:
Curl-L http://install.ohmyz.sh | sh

Set the default shell

View the list of shell supported by the system. Mac 10.9.4 comes with zsh 5.0.2 and is installed on Linux.

cat /etc/shells# List of acceptable shells for chpass(1).# Ftpd will not allow users to connect who are not using# one of these shells./bin/bash/bin/csh/bin/ksh/bin/sh/bin/tcsh/bin/zshzsh --versionzsh 5.0.2 (x86_64-apple-darwin13.0)chsh -s /bin/zsh 

Although zsh is included in Mac, if you want the latest zsh version, use brew install zsh to install the latest zsh version.

/Usr/local/bin/zsh -- version zsh 5.0.5 (x86_64-apple-darwin13.3.0) is not much different, the default version is already very new.
Homebrew-cask

Install cask:

Brew tap phinze/homebrew-cask & brew install brew-cask

Common cask commands:

Copy codeThe Code is as follows:
Brew cask search # list all software that can be installed
Brew cask search php # search for all php-related applications
Brew cask list # list all software installed through cask
Brew cask info phpstorm # view phpstorm Information
Brew cask uninstall qq # uninstall QQ

Here we will talk about the advantages of cask over Mac App Store:

More comprehensive support for common software (especially for developers), cask will surprise you;
Software updates are fast. Generally, the latest version of the Store takes a long time to update;

Command installation is easier than opening the Store, and the speed of the Store in China is also XXOO.

ITerm2

Install iTerm2:

Brew cask install iterm2
See [iTerm2 official documentation] (http://www.iterm2.com/#/section/documentatio) for more information on the combination of artifacts mentioned above
N), which is not detailed here.

Install and develop common packages and software
Install the SDK
Copy codeThe Code is as follows:
Brew install wget watch tmux cmake openssl imagemagick graphicsmagick gearman geoip readline autoconf multitail source-highlight autojump zsh-completions sshfs

Upgrade the built-in vim
Copy codeThe Code is as follows:
Brew install ctags macvim -- env-std -- override-system-vim

Install Common Software

Brew cask install alfred appcleaner firefox google-chrome phpstorm sublime-text sequel-pro sketch mplayerx thunder qq
Alfred is a good thing. It is recommended that you install it. The default search directory does not contain the software installed by brew cask. Therefore, manually set '/opt/homebrew-
Cask' add to Alfred's search directory

MySQL PHP Nginx Redis Memcache

I have made so many preparations before. In fact, zsh iTerm2 brew and so on have limited space and capabilities. Due to the limited space and capabilities, I will not finish talking about it at half past one, so I will have more choices and more fun at Google.
Search is now the topic. Come on :)

Install MySQL

Copy codeThe Code is as follows:
Brew install mysql

Start MySQL at startup:

Copy codeThe Code is as follows:
Ln-sfv/usr/local/opt/mysql/*. plist ~ /Library/LaunchAgents launchctl load ~ /Library/LaunchAgents/homebrew. mxcl. mysql. plist

After the installation is complete, enable the MySQL Security Mechanism:
Copy codeThe Code is as follows:
/Usr/local/opt/mysql/bin/mysql_secure_installation

Enter the root password according to the terminal prompt, and then confirm some security options in sequence. For more information, see
This article by foreign friends

Check the MySQL running status

~ Ps aux | grep mysqlcalvin 1695 0.0 0.5 2719864 90908 ?? S am. 31/usr/local/Cellar/mysql/5.6.19/bin/mysqld -- basedir =/usr/local/Cellar/mysql/5.6.19 -- datadir =/usr/local/var/mysql -- plugin-dir =/usr/local/Cellar/mysql/5.6.19/lib/plugin -- bind-address = 127.0.0.1 -- log-error =/usr/local/var/mysql/CalvinsMacBook-Pro.local.err -- pid-file =/usr/local/var/mysql/CalvinsMacBook-Pro.local.pid -- socket =/tmp/mysql. sock -- port = 3306 calvin 1323 0.0 0.0 2444628 10 20 ?? S am. 04/bin/sh/usr/local/opt/mysql/bin/mysqld_safe -- bind-address = 127.0.0.1 -- datadir =/usr/local/var/mysql # test connection to MySQLmysql-uroot -pWelcome to the MySQL monitor. commands end with; or \ g. your MySQL connection id is 23 Server version: 5.6.19-log HomebrewCopyright (c) 2000,201 4, Oracle and/or its affiliates. all rights reserved. oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. other names may be trademarks of their respectiveowners. type 'help; 'or' \ H' for help. type '\ C' to clear the current input statement. mysql>

Install phpmyadmin
Copy codeThe Code is as follows:
Brew install phpmyadmin

Install PHP

Add the PHP extension library for brew:
Copy codeThe Code is as follows:
Brew update brew tap homebrew/dupes brew tap maid/homebrew-php

You can run the brew options php55 command to check the options for installing php5.5. Here I use the following options for installation:
Copy codeThe Code is as follows:
Brew install php55 -- with-fpm -- with-gmp -- with-imap -- with-tidy -- with-debug -- with-mysql -- with-libmysql

If you encounter configure: error: Cannot find OpenSSL's <evp. h> error. Run xcode-select -- install to reinstall Xcode Command Line Tools. The following is a discussion on GitHubHomeBrew:

_ For future reference of anybody looking for Command Line Tools with Xcode 5,
Open up a Terminal window and type xcode-select -- install. A window will
Appear informing you command line tools are required. Click Install and you
Shocould be good to go _

Wait for PHP compilation to complete, start to install PHP common extensions, brew will automatically install dependency packages during extension installation, such as php55-pdo-pgsql
Postgresql is automatically installed. Here I install the following PHP extensions:
Copy codeThe Code is as follows:
Brew install php55-apcu \ php55-gearman \ php55-geoip \ php55-gmagick \ php55-imagick \ php55-intl \ php55-mcrypt \ php55-memcache \ php55-memcached \ php55-mongo \ php55-opcache \ php55-pdo-pgsql \ php55-phalcon \ php55-redis \ php55-sphinx \ php55-swoole \ php55-uuid \ php55-xdebug;

Extend it to mention the php55-phalcon and php55-swoole. one is the PHP framework written in C language. I am familiar with it after installation. I haven't actually used it yet. I have roughly read the document and I feel like it is very difficult. Currently, the company's project is based on Yii2. Let's take a look at this framework.

Another swoole is a domestic PHP High-Performance Network Communication Framework, which looks good and may be used in projects.

Because Mac comes with php and php-fpm, you need to add the system environment variable PATH to replace the built-in PHP version.

Copy codeThe Code is as follows:
Echo 'export PATH = "$ (brew -- prefix php55)/bin: $ PATH" '>> ~ /. Bash_profile # for php
Echo 'export PATH = "$ (brew -- prefix php55)/sbin: $ PATH" '>> ~ /. Bash_profile # for php-fpm
Echo 'export PATH = "/usr/local/bin:/usr/local/sbib: $ PATH" '> ~ /. Bash_profile # for other brew install soft
Source ~ /. Bash_profile

Test the effect:

Copy codeThe Code is as follows:
# Brew installed php in/usr/local/opt/php55/bin/php
Php-v
PHP 5.5.14 (cli) (built: Jul 16 2014 15:43:06) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
With Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
With Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

# Mac built-in PHP
/Usr/bin/php-v
PHP 5.4.24 (cli) (built: Jan 19 2014 21:32:15)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

# Brew installed php-fpm in/usr/local/opt/php55/sbin/php-fpm
Php-fpm-v
PHP 5.5.14 (fpm-fcgi) (built: Jul 16 2014 15:43:12) (DEBUG)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
With Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
With Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

# Mac built-in php-fpm
/Usr/sbin/php-fpm-v
PHP 5.4.24 (fpm-fcgi) (built: Jan 19 2014 21:32:57)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

Modify the php-fpm configuration file, vim/usr/local/etc/php/5.5/php-fpm.conf, find the pid related to about 25 lines, remove the comment pid = run/php-fpm.pid, then the php-fpm pid file will be automatically generated in the/usr/local/var/run/php-fpm.pid, The Nginx pid file to be installed below is also placed here.

Copy codeThe Code is as follows:
# Test the configuration of php-fpm
Php-fpm-t
Php-fpm-c/usr/local/etc/php/5.5/php. ini-y/usr/local/etc/php/5.5/php-fpm.conf-t

# Start php-fpm
Php-fpm-D
Php-fpm-c/usr/local/etc/php/5.5/php. ini-y/usr/local/etc/php/5.5/php-fpm.conf-D

# Disable php-fpm
Kill-INT 'cat/usr/local/var/run/php-fpm.pid'

# Restart php-fpm
Kill-USR2 'cat/usr/local/var/run/php-fpm.pid'

# You can also use the brew command mentioned above to restart php-fpm. However, this command is not officially recommended.
Brew services restart php55

# You can also use this command to start php-fpm
Launchctl load-w ~ /Library/LaunchAgents/homebrew. mxcl. php55.plist

After starting php-fpm, make sure it runs normally listening to port 9000:

Copy codeThe Code is as follows:
Lsof-Pni4 | grep LISTEN | grep php
Php-fpm 30907 calvin 9u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1: 9000 (LISTEN)
Php-fpm 30917 calvin 0u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1: 9000 (LISTEN)
Php-fpm 30918 calvin 0u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1: 9000 (LISTEN)
Php-fpm 30919 calvin 0u IPv4 0xf11f9e8e8033a2a7 0t0 TCP 127.0.0.1: 9000 (LISTEN)
# Normally, you will see the above processes

PHP-FPM boot:
Copy codeThe Code is as follows:
Ln-sfv/usr/local/opt/php55/*. plist ~ /Library/LaunchAgents launchctl load ~ /Library/LaunchAgents/homebrew. mxcl. php55.plist

Install php composer
Copy codeThe Code is as follows:
Brew install composer
# Check the situation
Composer -- version
Composer version 1.0.0-alpha8 18:39:59

Redis memcached software brew has been automatically installed on, If You Want To Enable Automatic startup, or view instructions brew info redis. In addition, composer's Chinese document: click here
Install Nginx

Brew install nginx -- with-http_geoip_module
Nginx startup and shutdown command:

Copy codeThe Code is as follows:
# Test whether the configuration has syntax errors
Nginx-t

# Enable nginx
Sudo nginx

# Reload Configuration | restart | stop | exit nginx
Nginx-s reload | reopen | stop | quit

# You can also use Mac launchctl to START | stop
Launchctl unload ~ /Library/LaunchAgents/homebrew. mxcl. nginx. plist
Launchctl load-w ~ /Library/LaunchAgents/homebrew. mxcl. nginx. plist

Start Nginx
Copy codeThe Code is as follows:
Ln-sfv/usr/local/opt/nginx/*. plist ~ /Library/LaunchAgents launchctl load ~ /Library/LaunchAgents/homebrew. mxcl. nginx. plist

The root permission is required for Nginx to listen to port 80. Therefore:
Copy codeThe Code is as follows:
Sudo chown root: wheel/usr/local/Cellar/nginx/1.6.0 _ 1/bin/nginx
Sudo chmod u + s/usr/local/Cellar/nginx/1.6.0 _ 1/bin/nginx

Configure nginx. conf
Create a directory:
Copy codeThe Code is as follows:
Mkdir-p/usr/local/var/logs/nginx
Mkdir-p/usr/local/etc/nginx/sites-available
Mkdir-p/usr/local/etc/nginx/sites-enabled
Mkdir-p/usr/local/etc/nginx/conf. d
Mkdir-p/usr/local/etc/nginx/ssl
Sudo mkdir-p/var/www
Sudo chown: staff/var/www
Sudo chmod 775/var/www

Vim/usr/local/etc/nginx. conf

Enter the following content:
Copy codeThe Code is as follows:
Worker_processes 1;

Error_log/usr/local/var/logs/nginx/error. log debug;


Pid/usr/local/var/run/nginx. pid;


Events {
Worker_connections 256;
}


Http {
Include mime. types;
Default_type application/octet-stream;

Log_format main '$ remote_addr-$ remote_user [$ time_local] "$ request "'
'$ Status $ body_bytes_sent "$ http_referer "'
'"$ Http_user_agent" "$ http_x_forwarded_for "';

Access_log/usr/local/var/logs/access. log main;

Sendfile on;
Keepalive_timeout 65;
Port_in_redirect off;

Include/usr/local/etc/nginx/sites-enabled /*;
}

Set the nginx php-fpm configuration file
Copy codeThe Code is as follows:
Vim/usr/local/etc/nginx/conf. d/php-fpm
# Proxy the php scripts to php-fpm
Location ~ \. Php $ {
Try_files $ uri = 404;
Fastcgi_pass 127.0.0.1: 9000;
Fastcgi_index index. php;
Fastcgi_intercept_errors on;
Include/usr/local/etc/nginx/fastcgi. conf;
}

Nginx VM preparation

# Create the info. php index.html 404.html 403.html file to/var/www

Vi/var/www/info. php vi/var/www/index.html vi/var/www/403.html vi/var/www/404.html
Create default VM default

Vim/usr/local/etc/nginx/sites-available/default

Input:
Copy codeThe Code is as follows:
Server {
Listen 80;
Server_name localhost;
Root/var/www /;

Access_log/usr/local/var/logs/nginx/default. access. log main;

Location /{
Index index.html index.htm index. php;
Autoindex on;
Include/usr/local/etc/nginx/conf. d/php-fpm;
}

Location =/info {
Allow 127.0.0.1;
Deny all;
Rewrite (. *)/. info. php;
}

Error_page 404/404 .html;
Error_page 403/403 .html;
}

Create ssl default virtual host default-ssl

Vim/usr/local/etc/nginx/sites-available/default-ssl

Input:
Copy codeThe Code is as follows:
Server {
Listen 443;
Server_name localhost;
Root/var/www /;
Access_log/usr/local/var/logs/nginx/default-ssl.access.log main; ssl on;
Ssl_certificate ssl/localhost. crt;
Ssl_certificate_key ssl/localhost. key;
Ssl_session_timeout 5 m;
Ssl_protocols SSLv2 SSLv3 TLSv1;
Ssl_ciphers HIGH :! ANULL :! MD5;
Ssl_prefer_server_ciphers on;
Location /{
Include/usr/local/etc/nginx/conf. d/php-fpm;
}
Location =/info {
Allow 127.0.0.1;
Deny all;
Rewrite (. *)/. info. php;
}
Error_page 404/404 .html;
Error_page 403/403 .html;
}

Create a phpmyadmin VM

Vim/usr/local/etc/nginx/sites-available/phpmyadmin
Enter the following configuration
Copy codeThe Code is as follows:
Server {
Listen 306;
Server_name localhost;
Root/usr/local/share/phpmyadmin;
Error_log/usr/local/var/logs/nginx/phpmyadmin. error. log; access_log/usr/local/var/logs/nginx/phpmyadmin. access. log main; ssl on;
Ssl_certificate ssl/phpmyadmin. crt;
Ssl_certificate_key ssl/phpmyadmin. key;
Ssl_session_timeout 5 m;
Ssl_protocols SSLv2 SSLv3 TLSv1;
Ssl_ciphers HIGH :! ANULL :! MD5;
Ssl_prefer_server_ciphers on;
Location /{
Index index.html index.htm index. php;
Include/usr/local/etc/nginx/conf. d/php-fpm;
}}

Set SSL

Mkdir-p/usr/local/etc/nginx/ssl openssl req-new-newkey rsa: 4096-days 365-nodes-x509-subj "/C = US/ST = State/L = Town/O = Office/CN = localhost"-keyout/usr/local/etc /nginx/ssl/localhost. key-out/usr/local/etc/nginx/ssl/localhost. crt openssl req-new-newkey rsa: 4096-days 365-nodes-x509-subj "/C = US/ST = State/L = Town/O = Office/CN = phpmyadmin"-keyout/usr/local/etc /nginx/ssl/phpmyadmin. key-out/usr/local/etc/nginx/ssl/phpmyadmin. crt

Create a VM soft connection and enable the VM

Ln-sfv/usr/local/etc/nginx/sites-available/default/usr/local/etc/nginx/sites-enabled/default ln-sfv/usr/local/etc /nginx/sites-available/default-ssl/usr/local/etc/nginx/sites-enabled/default-ssl ln-sfv/usr/local/etc/nginx/sites- available/phpmyadmin/usr/local/etc/nginx/sites-enabled/phpmyadmin

Start | stop Nginx

Launchctl load-w ~ /Library/LaunchAgents/homebrew. mxcl. nginx. plist launchctl unload-w ~ /Library/LaunchAgents/homebrew. mxcl. nginx. plist
Next you can access through the following connections:

Copy codeThe Code is as follows:
<Http: // localhost/>-> index.html
<Http: // localhost/info>-> info. php via phpinfo ();
<Http: // localhost/404>-> 404.html
<Https: // localhost/>-> index.html (SSL)
<Https: // localhost/info>-> info. php via phpinfo (); (SSL)
<Https: // localhost/404>-> 404.html (SSL)
<Https: // localhost: 306>-> phpmyadmin (SSL)

Set the shortcut Service Control Command

For later management convenience, run the command alias, vim ~ /. Bash_aliases enter the following content:

Alias nginx. start = 'launchctl load-w ~ /Library/LaunchAgents/homebrew. mxcl. nginx. plist 'Alias nginx. stop = 'launchctl unload-w ~ /Library/LaunchAgents/homebrew. mxcl. nginx. plist 'Alias nginx. restart = 'nginx. stop & nginx. start' alias php-fpm.start = "launchctl load-w ~ /Library/LaunchAgents/homebrew. mxcl. php55.plist "alias php-fpm.stop =" launchctl unload-w ~ /Library/LaunchAgents/homebrew. mxcl. php55.plist "alias php-fpm.restart = 'php-fpm. stop & php-fpm.start 'alias mysql. start =" launchctl load-w ~ /Library/LaunchAgents/homebrew. mxcl. mysql. plist "alias mysql. stop =" launchctl unload-w ~ /Library/LaunchAgents/homebrew. mxcl. mysql. plist "alias mysql. restart = 'mysql. stop & mysql. start' alias redis. start =" launchctl load-w ~ /Library/LaunchAgents/homebrew. mxcl. redis. plist "alias redis. stop =" launchctl unload-w ~ /Library/LaunchAgents/homebrew. mxcl. redis. plist "alias redis. restart = 'redis. stop & redis. start' alias memcached. start =" launchctl load-w ~ /Library/LaunchAgents/homebrew. mxcl. memcached. plist "alias memcached. stop =" launchctl unload-w ~ /Library/LaunchAgents/homebrew. mxcl. memcached. plist "alias memcached. restart = 'memcached. stop & memcached. start'

Make quick commands take effect
Echo "[-f ~ /. Bash_aliases] & amp;. ~ /. Bash_aliases ">> ~ /. Bash_profile source ~ /. Bash_profile # create a site directory to the home directory to quickly access ln-sfv/var/www ~ /Htdocs
Some time will be further organized, and it feels a bit messy. The first time I wrote a code word on segmentfault, I accidentally slipped the touchpad when writing it halfway, and the browser stepped back. Although I was prompted not to leave, after you click "Do not exit", the Safari white screen is displayed. Then I threw out a slot specially, which made me waste a long time writing this blog. Hope to help those who are new to Mac. Enjoy Mac's development EVN :)

References: Install Nginx, PHP-FPM, MySQL and phpMyAdmin on OS X Mavericks using Homebrew

This article was created by Fish

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.