步骤一:准备编译环境
1.远程连接Linux实例。
2.关闭防火墙。
-
运行systemctl status firewalld命令查看当前防火墙的状态。
如果防火墙的状态参数是inactive,则防火墙为关闭状态, 可跳过此步骤。如果防火墙的状态参数是active,则防火墙为开启状态。如上图所示,此处防火墙为开启状态,需要运行如下命令关闭防火墙:
如果您想临时关闭防火墙,输入命令systemctl stop firewalld。
如果您想永久关闭防火墙,输入命令systemctl disable firewalld。
3.关闭SELinux。
-
运行getenforce命令查看SELinux的当前状态。
- 如果SELinux状态参数是Disabled,则SELinux为关闭状态。
- 如果SELinux状态参数是Enforcing,则SELinux为开启状态。本示例中SELinux为开启状态,因此需要关闭SELinux。
-
关闭SELinux。如果SELinux为关闭状态可以忽略此步骤。
-
如果您想临时关闭SELinux,运行命令setenforce 0。
说明 这只是暂时关闭SELinux,下次重启Linux后,SELinux还会开启。
如果您想永久关闭SELinux,运行命令vim /etc/selinux/config编辑SELinux配置文件。回车后,把光标移动到
SELINUX=enforcing
这一行,按 i 键进入编辑模式,修改为SELINUX=disabled
,按 Esc 键,然后输入 :wq 并按 Enter 键以保存并关闭SELinux配置文件。
-
步骤二:安装Nginx
1.运行以下命令安装Nginx。(阿里云服务器可以这样安装,如果不知名服务器商可能会报错误,看下图错误例子)
yum -y install nginx
2.运行以下命令查看Nginx版本。
nginx -v
3.返回结果如下所示,表示Nginx安装成功。
nginx version: nginx/1.16.1
- 如果yum安装nginx时报错:No package nginx available. Error: Nothing to do
- 出现这个的原因是因为本地yum源中没有我们想要的nginx,那么我们就需要创建一个/etc/yum.repos.d/nginx.repo的文件,新增一个yum源。
[root@centos6-1 ~]# vi /etc/yum.repos.d/nginx.repo
#在文件中写入以下内容:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
- 退出保存后,重新安装:
[root@centos6-1 ~]# yum -y install nginx
步骤三:安装MySQL
1.运行以下命令更新YUM源。
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2.运行以下命令安装MySQL。
yum -y install mysql-community-server
3.运行以下命令查看MySQL版本号。
mysql -V
4.返回结果如下所示,表示MySQL安装成功。
mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper
5.运行以下命令启动MySQL。
systemctl start mysqld
6.运行以下命令设置开机启动MySQL。
systemctl enable mysqld
systemctl daemon-reload
步骤四:安装PHP
1.安装php yum源(更新源后可安装php7.1和php7.2)
# 方法一:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# 方法二:
yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
2.查看yum软件仓库里面有没有 PHP版本
yum search php71w #查看可以安装的指定php版本
yum list php* #查看可以安装的php版本
3.安装php及扩展(安装7.2版本换成72即可,如果redis命令不行换成php71w-pecl-redis.x86_64
)
yum install php71w php71w-fpm php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath php71w-pecl-redis
4.启动php
systemctl start php-fpm #启动
systemctl stop php-fpm #关闭
systemctl restart php-fpm #重启
步骤五:配置Nginx
1.运行以下命令备份Nginx配置文件。
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
2.修改Nginx配置文件,添加Nginx对PHP的支持。
说明 若不添加此配置信息,后续您使用浏览器访问PHP页面时,页面将无法显示。
1.运行以下命令打开Nginx配置文件。
vi /etc/nginx/nginx.conf
2.按i进入编辑模式。
在server大括号内,添加下列配置信息。
#除下面提及的需要添加的配置信息外,其他配置保持默认值即可。
location / {
#在location大括号内添加以下信息,配置网站被访问时的默认首页
index index.php index.html index.htm;
}
#添加下列信息,配置Nginx通过fastcgi方式处理您的PHP请求
location ~ \.php {
root /usr/share/nginx/html; #将/usr/share/nginx/html替换为您的网站根目录,本教程使用/usr/share/nginx/html作为网站根目录
fastcgi_pass 127.0.0.1:9000; #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; #Nginx调用fastcgi接口处理PHP请求
}
添加配置信息后,如下图所示。
3.运行以下命令启动Nginx服务。
systemctl start nginx
4.运行以下命令设置Nginx服务开机自启动。
systemctl enable nginx
步骤六:配置MySQL
1.运行以下命令查看/var/log/mysqld.log文件,获取并记录root用户的初始密码。
grep 'temporary password' /var/log/mysqld.log
返回结果如下:
2016-12-13T14:57:47.535748Z 1 [Note] A temporary password is generated for root@localhost: p0/G28g>lsHD
步骤七:配置PHP
- 新建phpinfo.php文件,用于展示PHP信息。本教程配置的网站根目录为/usr/share/nginx/html,因此命令为:
vi /usr/share/nginx/html/phpinfo.php
按insert进入编辑模式。
输入下列内容,函数
phpinfo()
会展示PHP的所有配置信息。
按Esc键后,输入:wq并回车以保存并关闭配置文件。
运行以下命令启动PHP-FPM。
systemctl start php-fpm
- 运行以下命令设置PHP-FPM开机自启动。
systemctl enable php-fpm
步骤八:测试访问LNMP平台
打开浏览器。
-
在地址栏输入
http://
。/phpinfo.php 返回结果如下图所示,表示LNMP环境部署成功。
后续步骤
1.测试访问LNMP平台成功后,建议您运行以下命令将phpinfo.php文件删除,消除安全隐患。
rm -rf <网站根目录>/phpinfo.php #将<网站根目录>替换为您在nginx.conf中配置的网站根目录
本教程配置的网站根目录为/usr/share/nginx/html,因此命令为:
rm -rf /usr/share/nginx/html/phpinfo.php
2.配置普通用户用于远程链接
如果有条件可以从阿里云服务器商购买RDS服务器,设置ssh链接,保证安全性,或者指定IP进行数据库访问,这里只做远程链接
创建远程链接授权用户(mysql5.7的密码必须满足:数字、小写字母、大写字母 、特殊字符、长度至少8位)
- 进入mysql操作命令
mysql -h localhost -u root -p
- 增加pibigstar用户授权访问,密码p0/G28g>lsHD()
GRANT ALL PRIVILEGES ON *.* TO pibigstar@localhost IDENTIFIED BY 'p0/G28g>lsHD' WITH GRANT OPTION;
- 授与pibigstar用户从任何其它主机发起的访问(通配符%)
GRANT ALL PRIVILEGES ON *.* TO pibigstar@"%" IDENTIFIED BY 'p0/G28g>lsHD' WITH GRANT OPTION;
- 上面的执性完成之后,基本上就可以通过用户名 pibigstar 密码 p0/G28g>lsHD 访问了
文章部分来源
https://help.aliyun.com/document_detail/97251.html#title-34t-yjl-nbb
https://blog.csdn.net/junmoxi/article/details/90313606?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1