search
HomeDatabaseMysql Tutorialubuntu14.04 安装LNMP_MySQL

LNMPUbuntu

通常我们使用centos来组建LNMP,但是我们开发时多使用ubuntu的桌面版本来调试,下面将详细介绍如何在ubuntu上安装一套LNMP。

一、下载并安装最新的ubuntu14.04桌面版本

二、安装mysql

1. 下载mysql的最新版本,例如:
wgethttp://dl.mysql.cn/mysql5/5.5/mysql-5.5.25.tar.gz

2. 解压缩:
tar -xvf mysql-5.5.25.tar.gz

3. 进入mysql文件目录:
cd mysql-5.5.25

注意:文件INSTALL-SOURCE中有安装指南,可以参考。

4. mysql需要用cmake编译,先安装cmake:
sudo apt-get install cmake

5. 安装g++编译器
sudo apt-get install g++

6. 安装依赖库libncurses
sudo apt-get install libncurses5-dev

7. 使用下面的命令开始编译并安装,如果cmake失败了,重新调用cmake命令前,需要先删除文件CMakeCache.txt
cmake .
make
sudo make install

8. 增加mysql组和用户
groupadd mysql
useradd -r -g mysql mysql

9. 进入mysql的安装目录
cd /usr/local/mysql

10. 改变owner和group
sudo chown -R mysql .
sudo chgrp -R mysql .

11. 创建数据库
sudo scripts/mysql_install_db --user=mysql

12. 改变owner
sudo chown -R root .
sudo chown -R mysql data

13. 生成mysql的配置文件
sudo cp support-files/my-medium.cnf /etc/my.cnf

14. 启动mysql
sudo bin/mysqld_safe --user=mysql &

15. 执行下面命令可以启动mysql的命令行工具,如果能正确启动说明mysql安装成功。
/usr/local/mysql/bin/mysql

二、安装PHP

1. 下载PHP源码包:
wgethttp://cn2.php.net/distributions/php-5.5.12.tar.gz

2. 解压缩:
tar -xvf php-5.5.12.tar.gz

3. 安装依赖库
sudo apt-get install libxml2-dev openssl libcurl3-openssl-dev libcurl4-gnutls-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libt1-dev libmcrypt-dev libxslt1-dev

4. 进入源码目录
cd php-5.5.12

5. 执行配置命令
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets  --with-xmlrpc --enable-zip --enable-soap --without-pear --with-zlib --enable-pdo --with-pdo-mysql

7. 编译前运行下面的命令
ln -s /usr/local/mysql/lib/libmysqlclient.so.18  /usr/lib/

8. 编译并安装
make
sudo make install

9. 生成php的配置文件php.ini
sudo cp ./php.ini-production /usr/local/php/etc/php.ini

10. 启动php
/usr/local/php/bin/php-cgi -b 9000&

三、安装Nginx

1. 下载Nginx源码包:
wgethttp://nginx.org/download/nginx-1.7.0.tar.gz

2. 解压缩
tar -xvf nginx-1.7.0.tar.gz

3. 安装依赖库
sudo apt-get install libpcre3 libpcre3-dev

4. 进入源码目录
cd nginx-1.7.0

5. 运行配置命令
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module

6. 编译并安装
make
sudo make install

7. 修改nginx的配置文件:
sudo gedit /usr/local/nginx/conf/nginx.conf&

8. 在文件中找到下面的内容,并将前面的#号取掉。
        location ~ /.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
注意:上面的fastcgi_param参数要写成"$document_root$fastcgi_script_name;"。
   
9. 启动nginx   
sudo /usr/local/nginx/sbin/nginx&


四、测试nginx,php和mysql的连接

1. 在浏览器里输入127.0.0.1看看是否出现nginx的提示

2. 在/usr/local/nginx/html目录下新建一个index.php文件,加入下面一行

3. 改变index.php的属性
sudo chmod ugo+rwx -R /usr/local/nginx/html/index.php

4. 在浏览器里输入127.0.0.1/index.php看看是否出现php的信息

5. 最后测试php和mysql的连接情况,把index.php中的内容换成以下内容:
$con = mysql_connect("127.0.0.1","root",null);
mysql_select_db("information_schema", $con);
$result = mysql_query("SELECT * FROM USER_PRIVILEGES");
$row = mysql_fetch_row($result);
echo $row[0];
mysql_close($con);
?>

6. 在浏览器里输入127.0.0.1/index.php,出现下面的信息表示nginx,php和mysql间连接正常
'root'@'localhost

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
MySQL String Types: Storage, Performance, and Best PracticesMySQL String Types: Storage, Performance, and Best PracticesMay 10, 2025 am 12:02 AM

MySQLstringtypesimpactstorageandperformanceasfollows:1)CHARisfixed-length,alwaysusingthesamestoragespace,whichcanbefasterbutlessspace-efficient.2)VARCHARisvariable-length,morespace-efficientbutpotentiallyslower.3)TEXTisforlargetext,storedoutsiderows,

Understanding MySQL String Types: VARCHAR, TEXT, CHAR, and MoreUnderstanding MySQL String Types: VARCHAR, TEXT, CHAR, and MoreMay 10, 2025 am 12:02 AM

MySQLstringtypesincludeVARCHAR,TEXT,CHAR,ENUM,andSET.1)VARCHARisversatileforvariable-lengthstringsuptoaspecifiedlimit.2)TEXTisidealforlargetextstoragewithoutadefinedlength.3)CHARisfixed-length,suitableforconsistentdatalikecodes.4)ENUMenforcesdatainte

What are the String Data Types in MySQL?What are the String Data Types in MySQL?May 10, 2025 am 12:01 AM

MySQLoffersvariousstringdatatypes:1)CHARforfixed-lengthstrings,2)VARCHARforvariable-lengthtext,3)BINARYandVARBINARYforbinarydata,4)BLOBandTEXTforlargedata,and5)ENUMandSETforcontrolledinput.Eachtypehasspecificusesandperformancecharacteristics,sochoose

How to Grant Permissions to New MySQL UsersHow to Grant Permissions to New MySQL UsersMay 09, 2025 am 12:16 AM

TograntpermissionstonewMySQLusers,followthesesteps:1)AccessMySQLasauserwithsufficientprivileges,2)CreateanewuserwiththeCREATEUSERcommand,3)UsetheGRANTcommandtospecifypermissionslikeSELECT,INSERT,UPDATE,orALLPRIVILEGESonspecificdatabasesortables,and4)

How to Add Users in MySQL: A Step-by-Step GuideHow to Add Users in MySQL: A Step-by-Step GuideMay 09, 2025 am 12:14 AM

ToaddusersinMySQLeffectivelyandsecurely,followthesesteps:1)UsetheCREATEUSERstatementtoaddanewuser,specifyingthehostandastrongpassword.2)GrantnecessaryprivilegesusingtheGRANTstatement,adheringtotheprincipleofleastprivilege.3)Implementsecuritymeasuresl

MySQL: Adding a new user with complex permissionsMySQL: Adding a new user with complex permissionsMay 09, 2025 am 12:09 AM

ToaddanewuserwithcomplexpermissionsinMySQL,followthesesteps:1)CreatetheuserwithCREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';.2)Grantreadaccesstoalltablesin'mydatabase'withGRANTSELECTONmydatabase.TO'newuser'@'localhost';.3)Grantwriteaccessto'

MySQL: String Data Types and CollationsMySQL: String Data Types and CollationsMay 09, 2025 am 12:08 AM

The string data types in MySQL include CHAR, VARCHAR, BINARY, VARBINARY, BLOB, and TEXT. The collations determine the comparison and sorting of strings. 1.CHAR is suitable for fixed-length strings, VARCHAR is suitable for variable-length strings. 2.BINARY and VARBINARY are used for binary data, and BLOB and TEXT are used for large object data. 3. Sorting rules such as utf8mb4_unicode_ci ignores upper and lower case and is suitable for user names; utf8mb4_bin is case sensitive and is suitable for fields that require precise comparison.

MySQL: What length should I use for VARCHARs?MySQL: What length should I use for VARCHARs?May 09, 2025 am 12:06 AM

The best MySQLVARCHAR column length selection should be based on data analysis, consider future growth, evaluate performance impacts, and character set requirements. 1) Analyze the data to determine typical lengths; 2) Reserve future expansion space; 3) Pay attention to the impact of large lengths on performance; 4) Consider the impact of character sets on storage. Through these steps, the efficiency and scalability of the database can be optimized.

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

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use