创意电子
标题:
CentOS安装WEB服务器及PHP
[打印本页]
作者:
天龙八部-路先生
时间:
2021-8-20 13:10
标题:
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 https://dl.Fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.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
执行上述下令后,使用: 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
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
NameVirtualHost *:80
ServerName www.mywebsite1.com
DocumentRoot /home/www/htmla
ServerName mywebsite1.com
DocumentRoot /home/www/htmlb
ServerName www.mywebsite2.com
ServerAlias mywebsite2.com
DocumentRoot /home/www/htmlc
————————————————
安装MYSQL数据库
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,照旧要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
1 下载并安装MySQL官方的 Yum Repository
[root@localhost ~]# wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
使用上面的下令就直接下载了安装用的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 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Fire_Sky_Ho/article/details/104293828
但此时还有一个问题,就是由于安装了Yum Repository,以后每次yum操作都会主动更新,需要把这个卸载掉:
[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch
作者:
ceconomist2
时间:
2021-8-20 13:55
转发了
作者:
Newchyu
时间:
2021-8-20 14:58
转发了
欢迎光临 创意电子 (https://wxcydz.cc/)
Powered by Discuz! X3.4