在 Ubuntu 14.10/14.04/13.10 上安装 LEMP 服务和 phpMyAdmin

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:
在 Ubuntu 14.10/14.04/13.10 上安装 LEMP 服务和 phpMyAdmin

LEMP是一个操作系统和几个开源软件包的合称。缩写LEMP来自 Linux,Nginx(发音是 engine-x)HTTP服务器, MySQL数据库,和 PHP/ Perl/ Python的首字母。

在这篇教程里,让我们看一下如何在 Ubuntu 14.10 上安装 Nginx,MySQL 或 MariaDB,PHP 和 phpMyAdmin。

安装Nginx

Nginx (发音是engine-x)是一个免费的、开源的、高性能HTTP服务器和反向代理,也可以用作IMAP/POP3代理服务器,它是由Igor Sysoev开发。

要安装Nginx,在你的终端里输入下面的命令:

注意:如果你的系统里已经安装了apache2,先卸载掉以避免冲突。要卸载apache,运行下面的命令:

 
 
  1. sudo apt-get purge apache2*
  2. sudo apt-get autoremove -y

现在,用下面的命令安装nginx:

 
 
  1. sudo apt-get install nginx

用下面的命令启用Nginx服务:

 
 
  1. sudo service nginx start

测试 nginx

打开你的浏览器访问http://IP地址/或者http://localhost/。将可以看到类似下面的截图。

配置 Nginx

用任意文本编辑器打开文件/etc/nginx/nginx.conf

 
 
  1. sudo nano /etc/nginx/nginx.conf

设置 worker_processes(例如,你系统里CPU数目)。查看CPU数目,可以使用命令“lscpu”。在我这里是“1”。所以我把这个值设为1。

 
 
  1. worker_processes 1;

重启 Nginx 服务:

 
 
  1. sudo service nginx restart

默认虚拟主机(服务器模块)定义在文件/etc/nginx/sites-available/default里。

用任意文本编辑器打开文件/etc/nginx/sites-available/default。

 
 
  1. sudo nano /etc/nginx/sites-available/default

在Server区域里,按如下设置服务器FQDN或IP地址。确保你增加了index.php这一行。

[...]
server {
      listen 80 default_server;
      listen [::]:80 default_server ipv6only=on;
      root /usr/share/nginx/html;
      index index.php index.html index.htm;
      # Make site accessible from http://localhost/
      server_name server.unixmen.local;
[...]

这里面

  • listen 80; –> 监听ipv4端口
  • listen [::]:80 default_server ipv6only=on; –> 监听ipv6宽口
  • root /usr/share/nginx/html; –> 文件根目录
  • server_name server.unixmen.local; –> 服务器FQDN

现在,向下滚动找到区域#location ~ .php$。去掉注释并按如下修改:

 location ~ \.php$ {
         try_files $uri =404;   ---------> Add this line
         fastcgi_split_path_info ^(.+\.php)(/.+)$;
         #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
         #
         #       # 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.conf;
    }

这里面,我增加了额外一行‘try_files $uri =404;’用于避免0day漏洞。

保存文件并退出。

测试 nginx 配置

使用下面的命令测试nginx配置是否存在语法错误:

 
 
  1. sudo nginx -t

典型输出:

 
 
  1. nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
  2. nginx: configuration file /etc/nginx/nginx.conf test is successful

最后重启nginx服务

 
 
  1. sudo service nginx restart

安装 MySQL

MySQL是一个关系型数据库管理系统(RDBMS),作为服务启动提供给多用户访问多种数据库,尽管SQLite可能有更多的嵌入式部署。

 
 
  1. sudo apt-get install mysql-server mysql-client

在安装过程中,会提示你设置MySQL超级用户密码。输入密码并按确认。

重新输入密码。

现在,MySQL服务器就安装好了。

你可以用下面的命令检查 MySQL 服务器状态:

 
 
  1. sudo service mysql status

典型输出:

 
 
  1. mysql start/running, process 5671

注意:如果你希望使用MariaDB而不是MySQL,可以参考下面的步骤。

安装 MariaDB

MariaDB是 MySQL 的一个直接替代软件。它是一个稳定、可扩展又可靠的SQL服务器,包含许多增强功能。

首先,如果有的话你得先卸载掉 MySQL。要完全卸载 MySQL 包括配置文件,输入如下命令:

 
 
  1. sudo apt-get purge mysql*

运行如下命令清除不需要的软件包。

 
 
  1. sudo apt-get autoremove

在卸载完MySQL后,运行如下命令安装MariaDB。

 
 
  1. sudo apt-get install mariadb-server mariadb-client

另外,如果你希望体验最新版的MariaDB,可以从MariaDB仓库安装。运行下面的命令添加PPA。在写这篇文章的时候,MariaDB PPA还没有更新 Ubuntu 14.10。不过,我们还是可以使用 Ubuntu 14.04 的仓库来替代。

 
 
  1. sudo apt-get install software-properties-common
  2. sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
  3. sudo add-apt-repository 'deb http://sgp1.mirrors.digitalocean.com/mariadb/repo/5.5/ubuntu trusty main'

用如下命令更新一下软件源列表,然后安装MariaDB:

 
 
  1. sudo apt-get update
  2. sudo apt-get install mariadb-server mariadb-client -y

在安装过程中,会提示你设置数据库‘root’用户密码。

重新输入一次密码:

点击‘是’迁移到 MariaDB。注意一下,如果在安装MariaDB之前没有装过 MySQL 的话,不会提示你这个问题。

你可以用如下命令检查 MariaDB 版本:

 
 
  1. sudo mysql -v -u root -p

典型输出:

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 34
Server version: 5.5.39-MariaDB-2 (Ubuntu)

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

Reading history-file /home/sk/.mysql_history
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

用如下命令检查MariaDB是否已经开始运行:

 
 
  1. sudo service mysql status

典型输出:

 * /usr/bin/mysqladmin  Ver 9.0 Distrib 5.5.39-MariaDB, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

Server version        5.5.39-MariaDB-2
Protocol version    10
Connection        Localhost via UNIX socket
UNIX socket        /var/run/mysqld/mysqld.sock
Uptime:            2 min 21 sec

Threads: 1  Questions: 566  Slow queries: 0  Opens: 330  Flush tables: 4  Open tables: 22  Queries per second avg: 4.014

安装 PHP

PHP(PHP: Hypertext Preprocessor的递归缩写)是一个应用广泛的开源通用脚本语言,特别适合于网页开发,可以直接嵌入到 HTML 中。

使用如下命令安装PHP:

sudo apt-get install php5 php5-fpm php5-mysql

配置PHP

用任意文本编辑器打开php.ini文件:

 
 
  1. sudo nano /etc/php5/fpm/php.ini

找到这一行‘cgi.fix_pathinfo=1′,去掉注释并把值1改为0。

cgi.fix_pathinfo=0

现在重启php-fpm服务。

 
 
  1. sudo service php5-fpm restart

测试 PHP

在nginx文档根目录下创建一个测试文件“testphp.php”。

 
 
  1. sudo nano /usr/share/nginx/html/testphp.php

加入下面几行。

<?php
 phpinfo();
?>

保存文件并退出。

访问地址http://server-ip-address/testphp.php。将显示出所有关于 php 的信息,比如版本、构建日期以及命令等等。

PHP-FPM会默认监听套接字/var/run/php5-fpm.sock。如果你希望PHP-FPM使用TCP连接,打开文件/etc/php5/fpm/pool.d/www.conf

 
 
  1. sudo nano /etc/php5/fpm/pool.d/www.conf

找到这一行listen = /var/run/php5-fpm.sock,

;listen = /var/run/php5-fpm.sock

把它改成listen = 127.0.0.1:9000

listen = 127.0.0.1:9000

保存退出。重启 php5-fpm 服务。

 
 
  1. sudo service php5-fpm restart

现在打开 nginx 配置文件:

 
 
  1. sudo nano /etc/nginx/sites-available/default

找到这一行fastcgi_pass unix:/var/run/php5-fpm.sock;,参考下面把它改成 fastcgi_pass 127.0.0.1:9000;。

location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass 127.0.0.1:9000;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # 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.conf;
   }

保存退出。最后重启 nginx 服务。

 
 
  1. sudo service nginx restart

使用 phpMyAdmin 管理 MySQL 数据库(可选)

phpMyAdmin是一个免费的开源网页界面工具,用来管理你的 MySQL 数据库。

安装 phpMyAdmin

在 Debian 官方仓库里就有。所以可以用下面的命令安装:

 
 
  1. sudo apt-get install phpmyadmin

选择一个网页服务器。默认情况下,这里不会显示 nginx。所以,选择 apache 或者 lighttpd,然后我们再把 phpMyAdmin 和 nginx 连接起来工作。

选择‘是’通过dbconfig-common为phpMyAdmin配置数据库。

输入数据库的管理员账号密码。

输入 phpmyadmin 帐号的 MySQL 密码:

重新输入一次密码。

phpMyAdmin 就安装完成了。

创建一个 phpMyAdmin 的软连接到网站根目录。这里我们的网站根文档目录是/usr/share/nginx/html/。

 
 
  1. sudo ln -s /usr/share/phpmyadmin/ /usr/share/nginx/html

重启 nginx 服务。

 
 
  1. sudo service nginx restart

访问 phpMyAdmin 网页控制台

现在你可以在浏览器中通过地址http://server-ip-address/phpmyadmin/访问 phpMyAdmin 的控制台了。

输入你在前面步骤里留下的 MySQL 用户名和密码。在我这里是“root”和“ubuntu”。

就可以重定向到 phpMyAdmin 的网页管理首页。

src="https://dn-linuxcn.qbox.me/data/attachment/album/201411/15/170711vy3tvt3cvv27bv8v.png" />

现在你就可以在 phpMyAdmin 网页里管理你的 MyQL 数据库了。

就这样。你的 LEMP 服务器已经配置完毕,可以使用了。

原文发布时间:2014-11-15

本文来自云栖合作伙伴“linux中国”

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
15天前
|
Ubuntu Linux
在Linux (Ubuntu 16) 下安装LabVIEW
在Linux (Ubuntu 16) 下安装LabVIEW
37 0
|
2天前
|
JavaScript Ubuntu Shell
Ubuntu上安装任意版本nodejs方法
通过以上步骤,您可以在Ubuntu系统上灵活地安装和管理不同版本的Node.js。这种方法让开发者能够根据不同项目的需要选择合适的Node.js版本,同时也使版本切换变得非常方便。而且,nvm能够为每个项目独立管理依赖,从而确保不同项目之间的环境隔离,增强了开发环境的稳定性和可维护性。
9 2
|
11天前
|
存储 Ubuntu Java
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
19 1
|
8天前
|
Ubuntu C语言
【Ubuntu20.04】安装gcc11 g++11, Ubuntu18.04
以上就是在Ubuntu 20.04和Ubuntu 18.04上安装gcc11和g++11的步骤。
10 0
|
14天前
|
Ubuntu 关系型数据库 MySQL
MySQL5.7在Ubuntu安装[单机软件],第一步登录root,sudo su -
MySQL5.7在Ubuntu安装[单机软件],第一步登录root,sudo su -
|
14天前
|
Ubuntu 关系型数据库 MySQL
|
14天前
|
Ubuntu 持续交付 Docker
如何在 Ubuntu 20.04 上安装 Docker和DockerCompose
如何在 Ubuntu 20.04 上安装 Docker和DockerCompose
225 0
|
Web App开发 关系型数据库
ubuntu(14.4) 安装phpmyadmin
1.下载phpmyadmin文件,然后上传到www目录下,直接通过ip地址进行访问,然后输入mysql账号就可以登录了 2.另外一种方式:   apt-get install phpmyadmin   安装成功之后,创建软件链接:   ln -s /urs/share/phpmyadmin/  /var/www/html/pma    3.然后访问就ok了。
941 0
|
Ubuntu Apache 数据安全/隐私保护