您现在的位置是:首页 > PHP > linux服务器安装php环境 网站首页 PHP
linux服务器安装php环境
心血来潮,尝试安装服务器环境,买了一个阿里云的轻量级服务器,测试,结果差点以失败告终
最开始买的滴滴云的服务器,首月只需要9毛钱,结果买下来就只能看,不能访问(坑的是他的外网ip也不能访问),必须要备案,我的阿里云备案又不能转过来,一气之下去阿里云买了一个
下面安装过程:
1:买服务器的时候选好系统,我选择的是centos7系列,(他里面集成的lamp包,but里面数据库不能够远程连接,询问了勇哥没有解决,推荐了网址让我自己装)
2:使用ssh连接服务器
3:安装 Apache(确保登录账户是root,如果非root,可以在控制台切换为root,命令 su root ,输入自己这个用户的密码)
- 运行 sudo yum install httpd
- 设置开机启动,运行 sudo systemctl enable httpd.service
- 启动命令 运行 sudo systemctl start httpd.service
- 访问一下ip地址出现apache启动页就成功了
- ------------------------------------分割------------------------------------
- 重启命令(不执行):sudo systemctl restart httpd.service
- 停止命令(不执行):sudo systemctl stop httpd.service
- ------------------------------------------------------------------------------
4.安装Mysql,(现在有些安装时说明,都安装的是MariaDB ,mysql都很少了,我就是上了当,一直都不能用)
- sudo yum update (更新软件)
- wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm(获取社区仓库)
- sudo yum install mysql57-community-release-el7-8.noarch.rpm (载入mysql社区仓库)
- sudo yum update (继续更新,遇到是否(y/n),写y)
- sudo yum install mysql-server (正式安装mysql)
- 更改初始mysql密码(Mysql5.7默认安装之后root是有密码的。),但是我们不知道,需要去找,需要先启动一次mysql
service mysqld start 或者 systemctl start mysqld.service
grep 'temporary password' /var/log/mysqld.log(获取mysql临时密码,)
在返回的代码中找到密码(例如下面的 YdsGaxOq>2n!就是密码)
mysql -uroot -p (登录并输入密码)(临时密码一定要改,否则下次会出错)
set global validate_password_policy=0; (修改validate_password_policy参数的值)
set global validate_password_length=1;(修改密码的长度)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';(执行修改,如果未更改上面的全局参数,会导致提示密码过于简单不能修改)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;(授权远程登录,这里栽了坑);
FLUSH PRIVILEGES;(执行,否则不生效)
5.安装php
- 安装尽量高一点的版本,最开始图方便,顺着教程安装了之后才发现是5.4的版本,结果只能卸载,而且卸载很烦,当然后来也找到简单一点的办法,就是删除关联,先查看php的哪些关联,执行 rpm -qa | grep php ,然后执行yum remove php-common ,确认并删除(删除其他程序类似,比如删除mysql)
- 安装开始,选择源(我选择的php7)
- 开始安装(多个一起安装,也可分出来一个个来,比如:php70w-mysql,表示php获得mysql的支持,)运行 yum install php70w php70w-mbstring php70w-pdo php70w-xml php70w-mysql
- 写测试代码运行
- 输入vi /var/www/html/info.php
- 按健i进入编辑模式
- 输入<?php phpinfo();?>
- 按esc退出编辑
- 输入:wq(保存并退出)
- 重启apache,访问ip/info.php,查看php版本
6.测试远程数据库访问,以navicat工具连接为例
- 最开始我是死活连接不上,结果是mysql没装好,
- 后来装好了但是mysql操作命令一个用不了,估计是装了MariaDB ,
- 接下来终于全部装好了,用了官方的lamp包,结果命令还是用不了,mysql命令都不认识,远程连接的时候直接包我的ip没有权限访问,到时知道原因,但是不能输入命令,有啥用,怎么改也不行,所以,又一次重装
- 最后一切以前的问题都没出现了,结果连接工具还是报错了,报的1045,网上说的大多是密码错误,试了多次数据库登录密码都不行,只能先在ssh中登录mysql,查看user表,找到密码字段,结果是加密的,到时发现了一个问题
- user表里有两个root数据,字段user的值都是root,字段host的字段不同,一个是localhost,一个是%,(%代表的不限制ip的远程所有用户),所以我明白远程密码和登录数据的密码其实是可以不一样的,毕竟相当于两列嘛,那么他这里面限制ip登录就是通过一个ip一列来处理
- 直接使用修改语句把%的这条的密码也改成localhost的,
- 接下来重启数据库就基本可以远程连接了
- 操作方法,(user表里面,可能安装的不一样,表字段不一定一样,灵活处理,其实这里有个坑)
- mysql -u root -p (连接进入数据库)
- use mysql (定位到mysql数据库)
- show tables;(查询当前数据库下所有表)
- select user,host,password from user;(执行查询语句,查看用户、密码等信息)
- update user set password ='dkdkdkkde加密数据' where host='%';
- 重启ok
-end-这里感谢勇哥的支持,最后我想说那个授权登录的时候那个密码就是远程登录的密码,结果我压根没注意,坑了
打赏本站,你说多少就多少
上一篇:泛解析*.域名