1.安装lnmp前的准备工作

阿里云的服务器要配置安全组
配置防火墙,开启80端口、3306端口
允许80端口通过防火墙

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

允许3306端口通过防火墙

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 

也可以在文件中配置

vi /etc/sysconfig/iptables

重启防火墙iptables

/etc/init.d/iptables restart

2. 关闭selinux

vi /etc/selinux/config

#注释掉

#SELINUX=enforcing     

#注释掉

#SELINUXTYPE=targeted    

#增加

SELINUX=disabled         

#保存关闭

:wq  

#重启系统

shutdown -r now

3.安装Nginx

安装nginx

yum install nginx 

#启动

service nginx start

#设置开机启动

chkconfig nginx on

#修改80端口参数如下 vim /etc/nginx/conf.d/default.conf

listen 80;
#listen   [::]:80 default_server;

重启设置

/etc/init.d/nginx restart

4.安装mysql5.7

可以去官网找rpm文件 http://repo.mysql.com
#查询是否已经安装

yum list installed | grep 'mysql'
rpm -Uvh https://repo.mysql.com/mysql57-community-release-el6-7.noarch.rpm
yum install mysql-community-server

#设置开机启动

chkconfig mysqld on

#启动mysql,启动失败的话,初始化一下,mysqld --initialize ,也可能是数据文件夹已被创建,需要删除,输入命令:rm -rf /var/lib/mysql

/etc/init.d/mysqld start

#默认密码在 /var/log/mysqld.log 可以用这句来查询

grep 'temporary password' /var/log/mysqld.log

#也可以重置mysql密码
vi /etc/my.cnf 在[mysqld]段中加上一句:

skip-grant-tables 

重新启动mysqld

/etc/init.d/mysqld restart 

#登录并修改MySQL的root密码

use mysql;
update user set password=password('123456') where user='root'; 

#mysql5.7版本修改密码方式变了

update user set authentication_string=password('123456') where user='root'; 
flush privileges; 

#退出mysql,删除skip-grant-tables,重启mysql,完成。

报错解决:You must reset your password using ALTER USER statement before executing this statement.
MySQL版本5.7.6版本以前用户可以使用如下命令:
mysql> SET PASSWORD = PASSWORD('Xiaoming250');
MySQL版本5.7.6版本开始的用户可以使用如下命令:
mysql> ALTER USER USER() IDENTIFIED BY 'your.password';

5.安装PHP,安装第三方yum源和扩展

centos yum源是没有php的安装包,修改使用webtatic,remi或者rpmforge的源
#扩展源

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

#php源

rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

#清理缓存

yum clean all

#服务器的包信息缓存到本地

yum makecache

安装php5.6

yum install php56w

#可能用到的扩展

yum install php56w-bcmath php56w-dba php56w-devel php56w-embedded php56w-enchant php56w-fpm php56w-gd php56w-imap php56w-interbase php56w-intl php56w-ldap php56w-mbstring php56w-mcrypt php56w-mssql php56w-mysqlnd php56w-odbc php56w-opcache php56w-pdo php56w-pear.noarch php56w-pecl-apcu php56w-pecl-apcu-devel php56w-pecl-gearman php56w-pecl-geoip php56w-pecl-igbinary php56w-pecl-igbinary-devel php56w-pecl-imagick php56w-pecl-imagick-devel php56w-pecl-memcache php56w-pecl-memcached php56w-pecl-redis php56w-pecl-xdebug php56w-pgsql php56w-phpdbg php56w-process php56w-pspell php56w-recode php56w-snmp php56w-soap php56w-tidy php56w-xml php56w-xmlrpc 

#重启MySql

/etc/init.d/mysqld restart  

#重启Nginx

/etc/init.d/nginx  restart 

#启动php-fpm

/etc/rc.d/init.d/php-fpm start  

#设置开机启动

chkconfig php-fpm on

#修改/var/lib/php session目录的属主和权限 chown -R nginx.nginx session/
#修改php-fpm配置文件的运行用户组为nginx /etc/php-fpm.d/www.conf user = nginx group = nginx

配置nginx支持php
#备份原有配置文件

cp /etc/nginx/nginx.conf  /etc/nginx/nginx.confbak    

#备份原有配置文件

cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak 

#编辑

vi /etc/nginx/nginx.conf  

#修改nginx运行账号为:nginx组的nginx用户

user nginx nginx;  

#保存退出

nginx网站配置

server {
    listen 80;
    server_name 修改成你的域名;    
    location / {
       root   修改成你的网站跟目录;
       index index.php index.html index.htm;
       if (!-e $request_filename) {
         rewrite ^(.*)$ /index.php?s=$1 last;
         break;
       }
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }

    location ~ \.php$ {
        root   修改成你的网站跟目录;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include       fastcgi_params; 
    }
}

备注

nginx默认站点目录是:/usr/share/nginx/html/
MySQL数据库目录是:/var/lib/mysql
PHP主目录 /etc/php.d/
PHP配置文件 /etc/php.ini
PHP模块位置 /usr/lib/php/ 或者 /usr/lib64/php/
phpsession目录 /var/lib/php/session