1、本文centos版本
用cat /etc/issue查看版本为centos 6.1
2、所用远程连接工具 是xshell5
安装常用工具
yum install -y vim
yum install -y links
3、关闭防火墙selinux
为避免防火墙影响,所以直接关闭,也可以添加防火墙规则。这里为了方便,先直接关闭。
使用sed修改其配置文件,修改完成后,重启系统将不会再启用SELinux:
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
临时(无需重启)关闭SELinux:
setenforce 0
配置或关闭iptables(具体iptables规则设置根据需要查看iptables配置方法)
iptables -F #清空规则
service iptables save #保存
4、安装Nginx
CentOS 6 默认仓库不包含nginx,我们可以手动添加nginx的仓库。
访问nginx官网获取repo文件
我们需要先访问nginx的官方网站,获取官方的仓库地址。
点击这里访问nginx官方文档。
依照文档中的说明,最后的repo文件应该是下面这样,您可以直接复制。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
使用vim将上面的配置保存到/etc/yum.repos.d/nginx.repo
文件中。
安装nginx
安装好仓库后可以直接使用yum安装nginx。
yum install -y nginx
启动nginx
执行service nginx start
启动nginx。
启动成功后执行netstat -tunlp|grep 80
就可以看到nginx已经启动了80端口的监听。
启动nginx
执行service nginx start
启动nginx。
启动成功后执行netstat -tunlp|grep 80
就可以看到nginx已经启动了80端口的监听。
并且通过浏览器直接访问服务器的ip地址,能看到已经出现了nginx的欢迎页面。
启动nginx
执行service nginx start
启动nginx。
启动成功后执行netstat -tunlp|grep 80
就可以看到nginx已经启动了80端口的监听。
并且通过浏览器直接访问服务器的ip地址,能看到已经出现了nginx的欢迎页面。
nginx欢迎页面(links 127.0.0.1)
设置nginx为开机启动
执行chkconfig nginx on
设置nginx为开机启动。
5、安装MySQL
CentOS 6的默认仓库直接包含MySQL,可以直接通过yum安装 MySQL Server。
yum install -y mysql mysql-server
MySQL服务名称为mysqld
,我们可以通过下面命令启动MySQL服务。
service mysqld start
同nginx一样,使用下面命令将mysqld加入开机启动任务。
chkconfig mysqld on
启动成功后执行netstat -tunlp|grep 3306
就可以看到mysqld已经启动了3306端口的监听。
如果要初始化mysqld服务程序,给mysql添加root密码,可以用mysql_secure_installation命令
刚装完mysql密码时空,所以当让输入当前密码时直接按enter键 ,然后跳出 set root password?[Y/n] ,选y,设置mysql的root密码。之后系统询问 Remove anonymous users? [Y/n],是否删除匿名账号,我们选Y删除。之后依次询问disallow root login remotely?[Y/n] (是否禁止root用户从远程登录), Remove test database and access to it ?[Y/n] (是否删除test数据库并取消对其的访问权限), Reload privilege tables now ?[Y/n] (刷新授权表,让初始化后的设定立即生效)。我们都选Y即可。
6、安装PHP
CentOS 默认仓库中包含了php套件,我们可以直接使用yum安装。
下面是最小化安装,我们使用php-fpm来解析php。
yum install -y php-cli php-fpm
您可以随时使用yum list php-*
查看其它php扩展,下面是默认仓库中包含的所有扩展。
同样的,我们需要将php-fpm设置为开机启动。
chkconfig php-fpm on
service php-fpm start
启动完成后,我们可以通过netstat -tunlp|grep 9000
命令查看到,php-fpm 已经开始监听9000端口。
7、配置nginx使其支持php程序
接下来演示如何部署web服务的内容。
创建web目录和文件
我们假设web目录为/var/www/ngnix_peter
,创建并进入这个目录。
mkdir /etc/www/nginx_peter
cd /etc/www/nginx_peter
新建两个文件,一个html文件,一个php文件,稍后会看到效果。
a.html的内容为:
<h1>Hello world</h1>
b.php的内容为:
<?php
phpinfo();
// 将会打印出所有的PHP信息
?>
变更nginx配置
我们使用vim打开nginx第一个站点的配置文件vim /etc/nginx/conf.d/default.conf
。
将第9行的root
变更为我们指定的目录。
修改
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
变更为
location / {
root /var/www/nginx_peter;
index index.html index.htm;
}
将31-36行的注释去掉,使其支持php文件,同时还需要修改root
和fastcgi_param
选项指定我们的工作目录。
修改
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
变更为
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /var/www/nginx_peter;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx_peter$fastcgi_script_name;
include fastcgi_params;
}
保存后,执行service nginx reload
重新载入nginx配置。
此时,我们可以通过浏览器直接访问我们刚才建立的文件了。
通过浏览器访问
访问a.html, links 127.0.0.1/a.html
访问b.php, links 127.0.0.1/b.php
以上,就是lnmp的简单安装和配置完成,它已经可以解析php程序。