您的位置:首页 > 运维架构 > Nginx

Ubuntu14.04下搭建LANMP环境(Apache+Nginx+MySQL+PHP)

2015-01-06 17:42 585 查看
每回安装环境都要去百度几文章,今天索性自己写一篇,以后省去百度的麻烦了,本文介绍的是在Ubuntu14.04下搭建LANMP环境(Apache+Nginx+MySQL+PHP),如果你只想安装lamp或者lnmp都通用,直接拿去。
首先分两步走:
每一、先更新系统然后安装必要的依赖(这一步为以后的扩展提供铺垫)
第二、安装mysql apache2 php

sudo apt-get update
sudo apt-get install build-essential gcc g++ autoconf libiconv-hook-dev libmcrypt-dev libxml2-dev libmysqlclient-dev libcurl4-openssl-dev libjpeg8-dev libpng12-dev libfreetype6-dev snmp mcrypt

sudo apt-get install mysql-server mysql-client
sudo apt-get install apache2
sudo apt-get install php5 php5-common php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-xcache php5-mcrypt


  重启apache2

sudo service apache2 restart


  ubuntu下apache2虚拟主机配置

cd /etc/apache2/sites-available
ls
000-default.conf  default-ssl.conf
sudo cp 000-default.conf 000-default.conf.bak
sudo vim 000-default.conf


  文件修改为以下内容

<VirtualHost *:80>

ServerAdmin webmaster@localhost
DocumentRoot /data/www

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory />
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

</VirtualHost>


  重启apache2测试效果

sudo service apache2 restart


  

cd chmod 777 /data/www

vim info.php

<?php
phpinfo();


  在浏览器上http://localhost/info.php

ps aux | grep apache2
root      3749  0.0  0.7 568604 28152 ?        Ss   10:05   0:00 /usr/sbin/apache2 -k start
www-data  3753  0.0  0.6 797128 24504 ?        S    10:05   0:00 /usr/sbin/apache2 -k start
www-data  3754  0.0  0.7 574664 30756 ?        S    10:05   0:00 /usr/sbin/apache2 -k start
www-data  3755  0.0  0.5 571040 22676 ?        S    10:05   0:00 /usr/sbin/apache2 -k start
www-data  3756  0.0  0.4 569892 18596 ?        S    10:05   0:00 /usr/sbin/apache2 -k start
www-data  3757  0.0  0.4 569884 18660 ?        S    10:05   0:00 /usr/sbin/apache2 -k start
www-data  3808  0.0  0.5 570500 21040 ?        S    10:05   0:00 /usr/sbin/apache2 -k start
zzs       4187  0.0  0.0  15960   924 pts/0    S+   10:53   0:00 grep --color=auto apache2


  第三步、安装Nginx

sudo apt-get install nginx
sudo apt-get install php5-fpm
cd /etc/nginx/sites-available
sudo cp default default.bak


  配置Nginx使其支持PHP

cd /etc/nginx/sites-available

sudo vim default


  Nginx主机配置(端口改为8080,根目录和刚才的apache2要目录一样/data/www)

server {
listen 8080 default_server; #修改端口
listen [::]:8080 default_server ipv6only=on; #修改端口

root /data/www; #修改网站根目录
index index.php index.html index.htm; #添加index.php索引文件

# Make site accessible from http://localhost/ server_name localhost;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}

location ~ \.php$ {
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_params;
}

}


  重启服务,查看进程

sudo service nginx restart
sudo service php5-fpm restart
ps aux | grep php-fpm
root      3803  0.0  0.6 522716 26760 ?        Ss   10:05   0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
www-data  3806  0.0  0.4 751104 16396 ?        S    10:05   0:00 php-fpm: pool www
www-data  3807  0.0  0.2 522716  8432 ?        S    10:05   0:00 php-fpm: pool www
zzs       4234  0.0  0.0  15956   924 pts/0    S+   11:06   0:00 grep --color=auto php-fpm
ps aux | grep nginx
root      3782  0.0  0.0  85868  1360 ?        Ss   10:05   0:00 nginx: master process /usr/sbin/nginx
www-data  3783  0.0  0.0  86164  2032 ?        S    10:05   0:00 nginx: worker process
www-data  3784  0.0  0.0  86164  2520 ?        S    10:05   0:00 nginx: worker process
www-data  3785  0.0  0.0  86164  2032 ?        S    10:05   0:00 nginx: worker process
www-data  3786  0.0  0.0  86164  1776 ?        S    10:05   0:00 nginx: worker process
zzs       4236  0.0  0.0  15956   916 pts/0    S+   11:06   0:00 grep --color=auto


  

附apache2虚拟主机配置方法:

在Apache2中,有效的站点信息都存放在/etc/apache2/sites-available/文件 里面。 我们可以添加格式如下的信息来增加一个有效的虚拟空间,将default文件复制一份改一下里面的路径就可以了,要启用配置则则将此文件做一个软链接到 /etc/apache2/sites-enabled/ 目录下
下面具个例子说明:

$ cd /etc/apache2/sites-available/
$ sudo cp 000-default.conf test.conf
$ mkdir /data/www/logs
<VirtualHost *:80>

#ServerAdmin webmaster@localhost
ServerName test.com
ServerAlias www.test.com
DocumentRoot /data/www/test

ErrorLog /data/www/logs/test-error.log
CustomLog /data/www/logs/test-access.log combined

<Directory />
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

</VirtualHost>


  添加软链接到/etc/apache2/sites-enabled目录

$ sudo ln -s /etc/apache2/sites-available/test.conf /etc/apache2/sites-enabled/test.conf


  

$ cd /etc/apache2/sites-enabled

$ ls -al
drwxr-xr-x 2 root root 4096 12月 14 11:48 ./
drwxr-xr-x 8 root root 4096 12月 14 00:13 ../
lrwxrwxrwx 1 root root   35 12月 14 00:00 000-default.conf -> ../sites-available/000-default.conf
lrwxrwxrwx 1 root root   38 12月 14 11:48 test.conf -> /etc/apache2/sites-available/test.conf


  

注意:

查看fpm进程是

ps aux | grep php-fpm


  重启服务是

sudo service php5-fpm restart


  不知道为何两者名称不统一,最好用ps aux| grep fpm来查看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: