Centos7.6配置lnmp(nginx1.1.6+php7.2+mariadb10.30)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 安装nginx、php、mariadb。如果安装完成之后没有mysql表 ,那就去/var/lib/ 把mysql文件夹删掉。至此,lnmp环境配置完成。

QQ图片20220425223750.jpg

正文开始之前,先唠叨几句。


前段时间,博客遭到流量攻击,还好攻击流量不是很大,只有访客记录表的数据有些缺失。服务器现在用的是apache服务器,经受不住大流量的访问,服务器也快要到期了,新换一台服务器,重新配置一个nginx服务器吧。下边是我的血泪史。当然,我这只是能让我的网站在服务器上跑起来,在深入的运行权限之类的问题,目前可能涉及不到,以后遇到了再补充。

 

(一):安装nginx1.1.6


这个在LAMP环境配置及NGINX安装中介绍过,这里再介绍另一种方法,都大同小异,参照那个都可以。


1:安装nginx的yum源


rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

 

2:使用yum安装nginx


yum install -y nginx


3:启动nginx并设置开机自动运行


systemctl start nginx #启动,restart-重启,stop-停止
systemctl enable nginx #开机启动

 

4:卸载nginx


yum remove nginx


5:查看nginx运行状态


systemctl  status  nginx


QQ图片20220425223752.jpg


6:查看nginx版本



QQ图片20220425223755.jpg

 

至此,nginx安装成功,在浏览器中输入你服务器的ip,就会出现如下界面。


QQ图片20220425223757.jpg


最大的bug来了:(这是我配置的时候最大的bug)


配置nginx服务器成功之后,如果在浏览器输入服务器ip显示无法访问。

百思不得其姐。(难怪我单身)


百度了一下,没有找到答案,分开太麻烦了,寻思找个lnmp一件安装包装上试试,也不好用,最后发现,新买的服务器80端口没有开放。Nginx配置文件中,监听的是80端口,所以,一直不好用,开放特定端口,我之前日志中有写。大家可以去参照。至此,nginx安装完成。

 

(二):安装PHP7.2


我这里安装的是PHP7.2,如果你的项目能兼容的话,不建议安装PHP5.


1:安装PHP的yum源


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

 

2:查看php7 yum组件


yum search php72w

 

3:选择自己需要的组件安装,php72w.x86_64 和 php72w-fpm.x86_64 为核心程序必装


yum install php72w.x86_64 php72w-fpm.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-mcrypt.x86_64 php72w-mysql.x86_64 php72w-pdo.x86_64 php72w-pecl-redis.x86_64

 

4:启动php并设为开机启动


systemctl start php-fpm #启动,restart-重启,stop-停止
systemctl enable php-fpm #开机启动

 

5:查看版本及运行状态


php-fpm -v #查看版本
ps -ef | grep php-fpm #查看运行状态

 

PHP安装这个没什么可说的,一步一步安装就好了。

 

(三):修改nginx配置


这个需要修改nginx的配置文件nginx.conf


查找文件位置命令


whereis nginx.conf

 

修改这个有两个方式,如果你很了解linux操作命令,你可以使用vim直接在服务器上修改,不然,找到文件位置之后,将文件下载下来,在你本地修改完成之后,在传到服务器上。


vi /etc/nginx/conf.d/default.conf


1:找到第一个location中的这一行


index  index.html index.htm;
修改为:
index  index.php index.html index.htm; #添加index.php

 

2:把FastCGI server这行下面的location的注释去掉,并修改成下面这样子


# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
     #
     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;
     }


service nginx restart   #重启nginx
service php-fpm start   #开启php-fpm

 

3:在网站根目录新建index.php文件


vim /usr/share/nginx/html/index.php


随便写点什么内容都好,我这里输出的是phpinfo();

 

服务器ip/index.php   能访问,就说明nginx与 phpfpm配置成功。

 

(四):安装数据库maraidb10.3


(1)配置mariadb Yum源


   vi /etc/yum.repos.d/MariaDB.repo


在该文件中添加以下内容保存:


[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1


(2)安装 MariaDB


yum install MariaDB-server MariaDB-client -y


(3)启动、停止服务


systemctl start mariadb
systemctl stop mariadb


(4)设置开机启动


systemctl enable mariadb


(5)接下来进行MariaDB的相关简单配置


mysql_secure_installation


首先是设置密码,会提示先输入密码


Enter current password for root (enter for none):<–初次运行直接回车


设置密码


Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码


其他配置


Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

 

初始化MariaDB完成,接下来测试登录


mysql -uroot –ppassword


添加用户,设置权限


创建用户命令


mysql>create user username@localhost identified by 'password';


直接创建用户并授权的命令


mysql>grant all on *.* to username@localhost indentified by 'password';


授予外网登陆权限


mysql>grant all privileges on *.* to username@'%' identified by 'password';


授予权限并且可以授权


mysql>grant all privileges on *.* to username@'hostname' identified by 'password' with grant option;


刷新权限


flush privileges; /*刷新权限*/


简单的用户和权限配置基本就这样了。


Maraidb安装完成。

 

如果安装完成之后没有mysql表  那就去/var/lib/  把mysql文件夹删掉

 

至此,lnmp环境配置完成。


我就是这样配置的,我只是把在我服务器上配置的过程写了下来。




相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
153 7
|
3月前
|
应用服务中间件 BI nginx
Nginx的location配置详解
【10月更文挑战第16天】Nginx的location配置详解
|
3月前
|
缓存 负载均衡 安全
Nginx常用基本配置总结:从入门到实战的全方位指南
Nginx常用基本配置总结:从入门到实战的全方位指南
408 0
|
2月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
160 61
|
27天前
|
存储 应用服务中间件 nginx
nginx反向代理bucket目录配置
该配置实现通过Nginx代理访问阿里云OSS存储桶中的图片资源。当用户访问代理域名下的图片URL(如 `http://代理域名/123.png`)时,Nginx会将请求转发到指定的OSS存储桶地址,并重写路径为 `/prod/files/2024/12/12/123.png`。
68 5
|
2月前
|
缓存 负载均衡 算法
如何配置Nginx反向代理以实现负载均衡?
如何配置Nginx反向代理以实现负载均衡?
|
2月前
|
存储 负载均衡 中间件
Nginx反向代理配置详解,图文全面总结,建议收藏
Nginx 是大型架构必备中间件,也是大厂喜欢考察的内容,必知必会。本篇全面详解 Nginx 反向代理及配置,建议收藏。
Nginx反向代理配置详解,图文全面总结,建议收藏
|
1月前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
84 3
|
2月前
|
安全 PHP 开发者
php中配置variables_order详解
`variables_order` 是 PHP 配置中的一个关键指令,它决定了不同来源的变量被导入到全局变量空间的顺序。正确配置 `variables_order` 不仅可以确保变量的正确处理和覆盖顺序,还能提高应用程序的安全性。开发者应根据具体应用的需求,合理配置 `variables_order`,确保应用的稳定和安全运行。
40 5
|
2月前
|
应用服务中间件 API nginx
nginx配置反向代理404问题
【10月更文挑战第18天】本文介绍了使用Nginx进行反向代理的配置方法,解决了404错误、跨域问题和302重定向问题。关键配置包括代理路径、请求头设置、跨域头添加以及端口转发设置。通过调整`proxy_set_header`和添加必要的HTTP头,实现了稳定的服务代理和跨域访问。
487 1
nginx配置反向代理404问题