欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用yum在cent7.5下配置lnmp环境

程序员文章站 2022-06-11 16:12:43
...

使用yum在cent7.5下配置lnmp环境

防火墙配置

在CentOS 6.x版本中,默认使用的是iptables防火墙。到了CentOS 7.x版本,默认防火墙变成了firewalld。本篇通过使用firewalld开启、关闭 HTTP(80)端口,来讲述firewalld的基本使用方法。

firewalld 的一切设置均使用 firewall-cmd 命令完成。

配置前先确保防火墙是运行着的:

[[email protected] ~]#  firewall-cmd --state
running

输出running就说明运行着,否则需要开启:

[[email protected] ~]#  service firewalld start
Redirecting to /bin/systemctl start  firewalld.service

服务器上可能会有多张网卡,每张网卡可能有多个网口。firewalld 最细可以控制每个网口的进出流量。所以配置前需要知道要控制的网口的名字,用ifconfig命令获取:

如果ifconfig命令运行失败,需要安装:或者可以用 “ip addr”、“ip link”查看网络连接及其状态,使用“ip –s link”还可以查看统计信息。

[[email protected] ~]#  ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.28.128  netmask 255.255.255.0  broadcast 192.168.28.255
        inet6 fe80::20c:29ff:fef4:6dd1  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f4:6d:d1  txqueuelen 1000  (Ethernet)
        RX packets 13558  bytes 16041550 (15.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4380  bytes 315435 (308.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
 
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 72  bytes 6140 (5.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 72  bytes 6140 (5.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0     
[[email protected] ~]# 

一般买来的云服务器,只有一张网卡一个网口,这种情况下ifconfig会列出两个网口,比如这里是eno16777736和lo。lo是本地回路,是用于调试的,不是真正的网口。剩下的eno16777736就是真实网口的名字。
如果发现机器上除了lo网口,还是有多个网口,说明服务器上有多张网卡或多个网口。这时候要自己判断开操作哪个网口。
知道了要操作哪个网口。还需要了解下下firewalld中zone的概念:
firewalld将服务器网络环境划分为几个zone。就如同美国划分了很多个州,各个州都有各自的法律,一个生活在美国的人必须处在某一个洲(比如Ohio洲),行为受到该洲的限制,如果把此人从Ohio洲移动到Texas洲,那么他收到的法律限制就会发生变化。
同样的道理,一个网口必须处在某一个zone之内,zone有一套流量进出的规则,网口的进出流量就得遵循这套规则。如果把网口从一个zone移动到另一个zone后,该网口的流量进出规则就会改变。
根据这样的解释可以知道,防火墙的流量规则都是配置在zone上的,而不是直接配置在网口上的。所以先给public这个zone添加规则:允许80端口的流量通过:

[[email protected] ~]#  firewall-cmd --zone=public --add-port=80/tcp
success
[[email protected] ~]# 

返回success即代表成功。然后把网口eno16777736添加到public这个zone里面:

[[email protected] ~]#  firewall-cmd --zone=public --add-interface=eno16777736
Warning: ZONE_ALREADY_SET
[[email protected] ~]# 

因为我这里用的虚拟机只有一个网卡,所以显示的是已经添加。

安装nginx

首先更新系统软件

 [[email protected] ~]#  yum update

安装nginx

1.安装nginx源

[[email protected] ~]#  yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.安装nginx

[[email protected] ~]#  yum install nginx

3.启动nginx并设置开机启动
systemctl start nginx.service #启动nginx
systemctl stop nginx.service #停止
systemctl restart nginx.service #重启
systemctl enable nginx.service #设置开机启动

[[email protected] ~]#  service nginx start
Redirecting to /bin/systemctl start  nginx.service
[[email protected] ~]#  systemctl enable nginx.service

4.访问http://你的ip/

如果成功安装会出来nginx默认的欢迎界面
使用yum在cent7.5下配置lnmp环境

安装MySQL5.7.*

1.安装mysql源

[[email protected] ~]#   yum localinstall  http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

2.安装mysql

 [[email protected] ~]#  yum install mysql-community-server

3.安装mysql的开发包,以后会有用

[[email protected] ~]#  yum install mysql-community-devel

4.启动mysql 并设置开机启动
systemctl start mysqld.service #启动mysql
systemctl stop mysqld.service #停止mysql
systemctl restart mysqld.service #重启mysql
systemctl enable mysqld.service #设置开机启动

  [[email protected] ~]#  service mysqld start
    Redirecting to /bin/systemctl start  mysqld.service
  [[email protected] ~]#  systemctl enable mysqld.service

5.查看mysql启动状态

[[email protected] ~]#   service mysqld status

出现pid

证明启动成功

6.获取mysql默认生成的密码

 [[email protected] ~]#  grep 'temporary password' /var/log/mysqld.log

使用yum在cent7.5下配置lnmp环境
选中的就是密码。

7.换成自己的密码

 [[email protected] ~]#  mysql -uroot -p

Enter password:输入上页的密码,进入mysql

8.更换密码

mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]!';

这个密码一定要足够复杂,不然会不让你改,提示密码不合法;

9.退出mysql并试用下新密码

mysql> quit;    
mysql -uroot -p

确认密码正确。

安装php

1.选择合适的源
首先,我们通过yum下载,那么必须面对一个问题,centos7官方的源包太老,更新慢,默认都是下载5.4的版本,这会影响到数组操作数据库控制的代码风格,所以我在查看了几个网站选择的包后,最终确定使用https://mirror.webtatic.com/yum/el7/webtatic-release.rpm,代码如下:

[[email protected]]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

之后我们查看下这个包里面有没有我们要的php版本及其扩展

[[email protected]]# yum list php*

这时候会加载显示包含的内容,我们查看第二列看到需要的版本例如5.6.30,再看前面文件的名字,这里排序是安装字母顺序排序的。
2.运行yum install

 [[email protected]]#  yum install php56w php56w-mysql php56w-gd libjpeg* php56w-ldap php56w-odbc php56w-pear php56w-xml php56w-xmlrpc php56w-mbstring php56w-bcmath     

注:如果想升级到5.6把上面的55w换成56w就可以了。

[[email protected]]# yum install php56w php56w-mysql php56w-gd libjpeg* php56w-ldap php56w-odbc php56w-pear php56w-xml php56w-xmlrpc php56w-mbstring php56w-bcmath 

3.安装PHP FPM

 [[email protected]]# yum install php55w-fpm 
 [[email protected]]# yum install php56w-fpm 
 [[email protected]]# yum install php70w-fpm

注:如果想升级到5.6把上面的55w换成56w就可以了。
3.启动PHP FPM 并配置开机启动
systemctl start php-fpm.service #启动PHP FPM
systemctl stop php-fpm.service #停止PHP FPM
systemctl restart php-fpm.service #重启PHP FPM
systemctl enable php-fpm.service #设置开机启动

完成

修改下配置文件,OK,搞定,下面把所有涉及到的配置文件列一下(下面配置文件默认均已自动创建,不用我们自己创建):
Mysql配置文件my.cnf路径:/etc/my.cnf

Nginx配置文件nginx.conf路径:/etc/nginx/nginx.conf

PHP配置文件php.ini路径: /etc/php.ini

php-fpm配置文件php-fpm.conf路径:/etc/php-fpm.conf

上一篇: 1005 Spell It Right

下一篇: nginx