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