您现在的位置是:首页 > PHP > linux服务器安装php环境 网站首页 PHP

linux服务器安装php环境

Tom2018-04-05 5780人围观
PHP   linux   服务器   Centos   Mysql   Apache  
简介 暂无

心血来潮,尝试安装服务器环境,买了一个阿里云的轻量级服务器,测试,结果差点以失败告终

最开始买的滴滴云的服务器,首月只需要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-这里感谢勇哥的支持,最后我想说那个授权登录的时候那个密码就是远程登录的密码,结果我压根没注意,坑了






打赏本站,你说多少就多少

文章评论