安装Nginx:
新建repo源:
vi /etc/yum.repos.d/nginx.repo
配置nginx的yum仓库:
写入如下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
保存,生成yum元数据信息
yum makecache
然后就可以用yum来安装nginx了:
yum -y install nginx
安装成功后如图所示:
关闭防火墙和centos的安全机制:
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
vim /etc/selinux/config
修改如下内容:
SELINUX=enforcing ---->>> SELINUX=disabled
启动nginx服务,并设置开机自动启动
systemctl start nginx && systemctl enable nginx
打开浏览器输入ip地址,我们就能看到nginx默认的欢迎页面了!
安装MySQL:
新建repo源:
vi /etc/yum.repos.d/mysql-community.repo
写入如下内容:
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
保存,重新生成下yum元数据信息
yum clean all
yum makecache
然后就可以用yum来安装mysql了:
yum -y install mysql-community-server
安装完成后如图所示:
启动服务:
systemctl start mysqld.service
我们看一下初始密码:
grep 'password' /var/log/mysqld.log
输入如下命令:
mysqladmin -u root -p password
粘贴你之前复制的密码,然后回车,会提示让你设置一个新的密码,注意密码的复杂度要符合要求
重启MySQL:
systemctl restart mysqld
我们再登陆一次:
mysql -u root -p
安装PHP:
安装EPEL源:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
安装webtatic源:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
这两个源安装完成后如图所示:
现在就可以使用yum来安装php了:
yum -y install php72w-fpm php72w-cli php72w-common php72w-gd php72w-mysqlnd php72w-odbc php72w-pdo php72w-pgsql php72w-xmlrpc php72w-xml php72w-mbstring php72w-opcache
注:更多安装包名(PHP组件)可以浏览:https://webtatic.com/packages/php72/
安装完成后如图所示:
设置开机自启:
启动:
systemctl start nginx
systemctl start mysqld
systemctl start php-fpm
设置开机自启动:
systemctl enable nginx
systemctl enable mysqld
systemctl enable php-fpm
查看当前Nginx/MySQL/PHP的运行状态:
systemctl status nginx
systemctl status mysqld
systemctl status php-fpm
确保都是如下三图的Actice状态:
Nginx运行正常:
MySQL运行正常:
PHP运行正常:
详细配置:
接着是PHP的一系列坑,首先用WinSCP以SFTP的方式登录到你的机器内。
找到如下路径:
/etc/php.ini
把这个php.ini下载到本地,然后用专业一点的编辑器打开,别用记事本!
推荐使用Sublime Text
首先要打开PHP的Pathinfo,在这个文件的762行,把前面的分号去掉:
接着我们装的这个PHP7.2有Session的问题,要修复一下。找到1264行,去掉分号:
然后回到Xshell中,用下面的命令新建一个session目录:
mkdir /var/lib/php/session
进入到/var/lib/php目录:
cd /var/lib/php
给刚新建的session目录777权限:
chmod -R 777 session
回到我们的电脑编辑器内,继续修改php.ini。
这次是进行一些PHP设置上的优化。首先是超时时间要改大一些,找到368行,将后面的值改为300:
接着是文件的上传大小,改大一点,方便日后使用。799行将后面的值改成一个你想要的:
POST提交的值也要改大一点,656行后面的值改成你想要的,建议就按我如图的值来设置:
确定上述我说的这些你都做完了后,保存php.ini,然后用WinSCP上传替换掉我们服务器内之前的php.ini:
回到Xshell中,重启PHP:
systemctl restart php-fpm
6、现在我们来验证一下我们装的这个LNMP环境大体是否正常:
编辑nginx默认的站点conf:
vi /etc/nginx/conf.d/default.conf
然后复制我的替换掉你们的:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
access_log /var/log/nginx/html.access.log main;
error_log /var/log/nginx/html.error.log warn;
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
测试:
确定修改正确后,保存,然后进入到nginx的默认站点目录:
cd /usr/share/nginx/html
新建一个文件:
vi index.php
写入如下内容:
<?php phpinfo(); ?>
接着重启nginx:
systemctl restart nginx
然后在浏览器里输入我们的服务器ip并访问,能看到php测试页面就基本上是没问题了。