您的位置 首页 php

CentOS安装WEB服务器及PHP

CentOS系统的稳定性大家是有目共睹的,下面是如何安装WEB和PHP各种服务。

常用命令:

lsblk      查看分区和磁盘

df -h    查看空间使用情况

fdisk -l    分区工具查看分区信息

cfdisk /dev/sda    查看分区

blkid   查看硬盘label(别名)

du -sh ./*    统计当前目录各文件夹大小

free -h   查看内存大小

cat /proc/cpuinfo| grep “cpu cores”| uniq    查看cpu核心数

cat /proc/cpuinfo| grep “physical id”|uniq| wc -l 查看物理cpu个数

cat /proc/cpuinfo| grep “processor”| wc -l 查看逻辑cpu的个数

netstat -ant|awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print (a,S[a])}’ 查看当前网络连接情况

修改文件夹写入权限

#chmod -R 777 dirPath

参数 -R 表示递归,dirPath及其之内的所有文件夹、文件都被改变了权限。

例子:

#chmod -R 777 /home/user1/workspace/git

修改主机名:

//永久性的修改主机名称,重启后能保持修改后的。

hostnamectl set-hostname xxx

//删除hostname

hostnamectl set-hostname “”

hostnamectl set-hostname “” –static

hostnamectl set-hostname “” –pretty

————————————————

开放端口例:

[root@lx ~]# firewall-cmd –query-port=3306/tcp # 查看3306端口是否开启

no

[root@lx ~]# firewall-cmd –zone=public –add-port=3306/tcp –permanent # 开启3306端口

success

[root@lx ~]# firewall-cmd –reload # 重启防火墙

success

[root@lx ~]# firewall-cmd –query-port=3306/tcp # 查看3306端口是否开启

yes

在CentOS主机上查看当前主机在监听哪些端口的命令是netstat,常用的命令是:

netstat -tlunp

查看防火墙开放端口

firewall-cmd –zone=public –list-ports

查看防火墙是否关闭

systemctl status firewalld.service

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld

开机禁用 : systemctl disable firewalld

开机启用 : systemctl enable firewalld

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start firewalld.service

关闭一个服务:systemctl stop firewalld.service

重启一个服务:systemctl restart firewalld.service

显示一个服务的状态:systemctl status firewalld.service

在开机时启用一个服务:systemctl enable firewalld.service

在开机时禁用一个服务:systemctl disable firewalld.service

查看服务是否开机启动:systemctl is-enabled firewalld.service

查看已启动的服务列表:systemctl list-unit-files|grep enabled

查看启动失败的服务列表:systemctl –failed

显示防火墙应用列表

firewall-cmd –list-all

firewall-cmd –add-service=ftp

使用firewall-cmd –add-service=ftp 之后,列表显示出多了一个ftp服务。

配置firewalld-cmd

查看版本: firewall-cmd –version

查看帮助: firewall-cmd –help

显示状态: firewall-cmd –state

查看所有打开的端口: firewall-cmd –zone=public –list-ports

更新防火墙规则: firewall-cmd –reload

查看区域信息: firewall-cmd –get-active-zones

查看指定接口所属区域: firewall-cmd –get-zone-of-interface=eth0

拒绝所有包:firewall-cmd –panic-on

取消拒绝状态: firewall-cmd –panic-off

查看是否拒绝: firewall-cmd –query-panic

那怎么开启一个端口呢

添加

firewall-cmd –zone=public –add-port=80/tcp –permanent (–permanent永久生效,没有此参数重启后失效)

重新载入 firewall-cmd –reload

查看 firewall-cmd –zone= public –query-port=80/tcp

删除 firewall-cmd –zone= public –remove-port=80/tcp –permanent

调整默认策略(默认拒绝所有访问,改成允许所有访问):

firewall-cmd –permanent –zone=public –set-target=ACCEPT

firewall-cmd –reload

对某个IP开放多个端口:

firewall-cmd –permanent –add-rich-rule=”rule family=”ipv4″ source address=”10.159.60.29″ port protocol=”tcp” port=”1:65535″ accept”

firewall-cmd –reload

安装httpd服务

sudo yum install httpd

systemctl start httpd

systemctl enable httpd

安装PHP最新版

1、安装源

安装php72w,是需要配置额外的yum源地址的,否则会报错不能找到相关软件包。

php高版本的yum源地址,有两部分,其中一部分是epel-release,另外一部分来自webtatic。如果跳过epel-release的话,安装webtatic的时候,会有错误爆出。

所以,这里需要的命令是:

rpm -Uvh

rpm -Uvh

当然,您也可以选择下面的这个命令,也是一样的效果。

yum install epel-release -y

rpm -Uvh

执行上述命令后,使用: php -v :显示

-bash: php: command not found : 说明还需要继续配置php7。

使用: sudo yum list php* : 查看目前能够安装的PHP版本(最新版)。

可以看到可安装的PHP最新版为:php72w。

2、清除历史版本

为了防止CentOS上面发生php冲突,所以,这个命令还是先执行一下更好些。

yum -y remove php*

3、安装扩展包

事实上,这里面的对应扩展库很多,这里大家一定要注意cli和fpm这两个包,而其它的相关包就看您需要了。

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel

还有比较豪华的版本:

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

4、安装完成以后,启动服务

systemctl enable php-fpm.service

systemctl start php-fpm.service

5、安装成功

php -v :可以查当前的版本。

修改web的默认主页

要改默认主页为 default.php,安装默认是 :DirectoryIndex index.html

于是就修改 /etc/httpd/conf/httpd.conf 文件 DirectoryIndex index.html 为 DirectoryIndex default.php index.php index.html

重启apache:/etc/init.d/httpd restart

访问测试页面(自己写的:defult.php和index.php)成功访问defult.php..说明配置成功!

总结:

修改apache默认主页要修改两个文件:

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/php.conf

修改成:default.php index.php

修改多个域名访问:

修改这两个文件的 DirectoryIndex 后的文件名。

httpd.conf修改(略去不用修改的部分)

#ServerName www.example.com

#DocumentRoot /var/www/html

<Directory “/home/www”>

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

</Directory>

NameVirtualHost *:80

<VirtualHost *:80>

ServerName www.mywebsite1.com

DocumentRoot /home/www/htmla

</VirtualHost>

<VirtualHost *:80>

ServerName mywebsite1.com

DocumentRoot /home/www/htmlb

</VirtualHost>

<VirtualHost *:80>

ServerName www.mywebsite2.com

ServerAlias mywebsite2.com

DocumentRoot /home/www/htmlc

</VirtualHost>

————————————————

安装MYSQL数据库

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。

1 下载并安装MySQL官方的 Yum Repository

[root@localhost ~]# wget -i -c

使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

[root@localhost ~]# yum -y install mysql80-community-release-el7-3.noarch.rpm

之后就开始安装MySQL服务器。

[root@localhost ~]# yum -y install mysql-community-server

这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

至此MySQL就安装完成了,然后是对MySQL的一些设置。

2 MySQL数据库设置

首先启动MySQL

[root@localhost ~]# systemctl start mysqld.service

查看MySQL运行状态,运行状态如图:

[root@localhost ~]# systemctl status mysqld.service

此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

[root@localhost ~]# grep “password” /var/log/mysqld.log

如下命令进入数据库:

[root@localhost ~]# mysql -uroot -p

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

mysql> alter user ‘root’ @’localhost’ identified with mysql_native_password by ‘87338881@Yz’;

这里有个问题,新密码设置的时候如果设置的过于简单会报错:

原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:

MySQL完整的初始密码规则可以通过如下命令查看:

mysql> SHOW VARIABLES LIKE ‘validate_password%’;

+————————————–+——-+

| Variable_name | Value |

+————————————–+——-+

| validate_password_check_user_name | OFF |

| validate_password_dictionary_file | |

| validate_password_length | 4 |

| validate_password_mixed_case_count | 1 |

| validate_password_number_count | 1 |

| validate_password_policy | LOW |

| validate_password_special_char_count | 1 |

+————————————–+——-+

7 rows in set (0.01 sec)

复制代码

复制代码

密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

我的是已经修改过的,初始情况下第一个的值是ON,validate_password_length是8。可以通过如下命令修改:

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

设置之后就是我上面查出来的那几个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。

进入mysql,先看看user表里的内容

use mysql;

select user,host,plugin from user;

发现root的host只允许本地链接,将其改成%,任何ip都可连接就行

update user set host=’%’ where user=’root’;

然后记得再刷新下权限

flush privileges;

————————————————

版权声明:本文为CSDN博主「Fire_Sky_Ho」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:

但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

文章来源:智云一二三科技

文章标题:CentOS安装WEB服务器及PHP

文章地址:https://www.zhihuclub.com/78838.shtml

关于作者: 智云科技

热门文章

网站地图