安装lnmp前的准备工作

** 配置防火墙 **,开启80端口、3306端口,添加到默认的22端口规则的下面。 vi /etc/sysconfig/iptables #允许80端口通过防火墙 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许3306端口通过防火墙 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #保存退出 :wq #重启防火墙iptables使配置生效 /etc/init.d/iptables restart
** 关闭selinux ** vi /etc/selinux/config #注释掉 #SELINUX=enforcing
#注释掉 #SELINUXTYPE=targeted
#增加 SELINUX=disabled
#保存关闭 :wq
#重启系统 shutdown -r now
** 配置yum源 ** 可以直接用第三方源,例如repo,163等 nginx和mysql可以用官方repo文件。PHP官网只有编译包,所以只能用第三方yum源。 可以通过yum list | grep nginx 查看nginx,mysql和php的版本 安装Nginx

#安装nginx yum install nginx #启动 service nginx start #设置开机启动 chkconfig nginx on #重启设置 /etc/init.d/nginx restart 安装MySql

1、安装

yum install mysql mysql-server #拷贝配置文件 cp /usr/share/mysql/my-default.cnf /etc/my.cnf #启动MySQL /etc/init.d/mysqld start #设为开机启动 chkconfig mysqld on #重启系统 shutdown -r now 2、初始化MySql

#查看临时密码,mysql5.7之后安装时mysql会生成一个临时密码,mysql_secure_installation需要填写命令。 grep 'temporary password' /var/log/mysqld.log

#初始化命令,按步骤选择。 mysql_secure_installation

是否设定root密码,当然设置了,输入Y回车

Set root password? [Y/n] Y

输入root密码

New password:

再次输入root密码,MySQL5.6.6增加了密码强度验证插件validate_password,密码要求比较严格,需要特殊字符和大小字符,可以关闭这个插件

Re-enter new password:

是否删除匿名用户,删除,输入Y回车

Remove anonymous users? [Y/n] Y

是否删禁止root用户远程登录,当然禁止,输入Y回车

Disallow root login remotely? [Y/n] Y

是否删除测试数据库test,看个人喜好

Remove test database and access to it? [Y/n]

刷新权限,输入Y回车

Reload privilege tables now? [Y/n] Y #初始化完毕

#停止 /etc/init.d/mysqld stop
#启动 /etc/init.d/mysqld start
#重启 service mysqld restart
安装PHP

1、安装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 2、安装php和php扩展

#安装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
配置

配置nginx支持php

#备份原有配置文件 cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak
#编辑 vi /etc/nginx/nginx.conf
#修改nginx运行账号为:nginx组的nginx用户 user nginx nginx;
#保存退出 :wq!

#备份原有配置文件 cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak
#编辑 vi /etc/nginx/conf.d/default.conf
#增加index.php index index.php index.html index.htm;
#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径 location ~ .php$ { root html; 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/ 权限设置:chown nginx.nginx/usr/share/nginx/html/ -R MySQL数据库目录是:/var/lib/mysql 权限设置:chown mysql.mysql -R /var/lib/mysql PHP主目录 /etc/php.d/ PHP配置文件 /etc/php.ini PHP模块位置 /usr/lib/php/ 或者 /usr/lib64/php/

作者:Mr_Lance 链接:http://www.jianshu.com/p/69a289dc5441 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。