在 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,运行下面的命令:
- sudo apt-get purge apache2*
- sudo apt-get autoremove -y
现在,用下面的命令安装nginx:
- sudo apt-get install nginx
用下面的命令启用Nginx服务:
- sudo service nginx start
测试 nginx
打开你的浏览器访问http://IP地址/或者http://localhost/。将可以看到类似下面的截图。
配置 Nginx
用任意文本编辑器打开文件/etc/nginx/nginx.conf
- sudo nano /etc/nginx/nginx.conf
设置 worker_processes(例如,你系统里CPU数目)。查看CPU数目,可以使用命令“lscpu”。在我这里是“1”。所以我把这个值设为1。
- worker_processes 1;
重启 Nginx 服务:
- sudo service nginx restart
默认虚拟主机(服务器模块)定义在文件/etc/nginx/sites-available/default里。
用任意文本编辑器打开文件/etc/nginx/sites-available/default。
- 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配置是否存在语法错误:
- sudo nginx -t
典型输出:
- nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
- nginx: configuration file /etc/nginx/nginx.conf test is successful
最后重启nginx服务
- sudo service nginx restart