用Xshell在centos7下安装lnmp服务
虚拟机已创建好,本机已安装Xshell
一、准备工作:安装常用工具
1.1 yum install -y vim
备注:-y是同意安装过程中的询问,不被询问打断安装
vim:vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性
1.2 关闭SELINUX
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
SELinux的配置比较复杂,为了免其影响,建议新手直接将其关闭。
使用sed修改其配置文件,修改完成后,重启系统将不会再启用SELinux:
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
1.3 配置或关闭iptables
本文不对iptables进行讲解,将直接关闭iptables。
您可以执行iptables -L
对比执行下面命令前后的对比。
#清空iptables规则
iptables -F
#保存
service iptables save
二、安装lnmp:
2.1 安装nginx
2.1.1CentOS 7默认仓库不包含nginx,我们可以手动添加nginx的仓库。
创建 nginx.repo文件:
命令:
.进入目录 cd /etc/yum.repos.d
.创建文件 vi nginx.repo
.编辑文件 i
.保存并退出编辑 :wq
.删除文件 rm 文件名
访问nginx官网获取repo文件
我们需要先访问nginx的官方网站,获取官方的仓库地址。
点击这里访问nginx官方文档:https://nginx.org/en/linux_packages.html#stable
依照文档中的说明,最后的repo文件应该是下面这样,您可以直接复制。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
使用vim将上面的配置保存到/etc/yum.repos.d/nginx.repo
文件中。
2.1.2、安装nginx
安装好仓库后可以直接使用yum安装nginx。
yum install -y nginx
2.1.3启动nginx
执行service nginx start
启动nginx。
启动成功后执行netstat -tunlp|grep 80
就可以看到nginx已经启动了80端口的监听。
并且通过浏览器直接访问服务器的ip地址,能看到已经出现了nginx的欢迎页面。
2.1.4 nginx设置开机启动
chkconfig nginx on
2.1.5修改nginx端口号
cd /etc/nginx/conf.d/
vim default.conf
2.1.6、启用http_stub_status_module
检查是否安装:
2.1.6.1您可以通过以下指令来检查,当前版本的 NGINX 是否支持:
nginx -V|&grep http_stub_status_module
若出现下图,则说明支持:
2.1.6.2 修改nginx的默认配置文件,文件路径为:/etc/nginx/conf.d/default.conf
命令为:
进入nginx配置文件所在目录: cd /etc/nginx/conf.d/
进入配置文件:vim default.conf
编辑文件:i
添加以下代码:
location /nginx_status {
stub_status on;
access_log off;
}
保存并退出: :wq(切记带冒号)
2.1.6.3 重新加载nginx配置文件: nginx -s reload
2.1.6.4 curl 127.0.0.1/nginx_status
结果为:
浏览器访问nginx_status结果如下:
2.2安装mysql
centos 7 的默认仓库直接包含mysql,可以直接通过yum安装mysql
yum install -y mysql mysql-server
启动mysqld
service mysqld start
发现报错
解决办法:
centos 放弃了mysql,改用MariaDB
执行命令:
安装:yum install -y mariadb-server
启动:systemctl start mariadb.service
停止:systemctl stop mariadb.service
重启:systemctl restart mariadb.service
设置开机启动: systemctl enable mariadb.service
2.3、安装PHP
安装命令:yum install php-fpm
启动命令:systemctl start php-fpm.service
设置开机自启动:systemctl enable php-fpm.service
启动完成后,通过netstat -tunlp|grep 9000
2.4 配置nginx使其支持PHP程序
接下来演示如何部署web服务:
我们假设web目录为/var/www,创建目录
mkdir /var/www
进入该目录: cd /var/www
我们新建两个文件,一个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; index index.html index.htm; }
将第30-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;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
}
保存后,执行 nginx -s reload 重新载入nginx配置
此时,我们可以通过浏览器直接访问刚才建立的文件了: