阿里云服务器 :Linux环境下搭建Apache+php+mysql

Posted adongyo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云服务器 :Linux环境下搭建Apache+php+mysql相关的知识,希望对你有一定的参考价值。

以前我用的是Windows2012 的服务器,那时候只是抱着玩一玩的心态,所有用的是Windows,但是后来被导师给DISS了,于是决定改服务器的操作系统:

(一)下载安装php+mysql+apache

我选的操作系统是Linux的Ubuntu系统,使用的工具是xshell,xftp

1.切换管理员身份           //这一步我没用,我进入的时候就是root权限

在ubuntu中需要用root身份进行操作,所以用下面的命令确保以root身份登录:

sudo su

2.开始安装mysql5

apt-get install mysql-server mysql-client

你将被要求提供一个mysql的root用户的密码,我们需要在红色区域设置密码。

new password for the mysql root user: repeat password for the mysql root user:

 

3.安装apache2

apache2的是作为一个ubuntu的软件包,因此我们可以直接用下面命令安装它:

apt-get install apache2

 

现在,您的浏览器到http://localhost,你应该看到apache2的测试页:

如果顺利的话会出现:

It work!

apache的默认文档根目录是在ubuntu上的/var/www/html目录 ,配置文件是/ etc/apache2/apache2.conf。配置存储在的子目录在/etc/apache2目录。

4.安装php7.0

我们可以直接安装php7和apache的php7的模块,如下:

apt-get install php7.0 libapache2-mod-php7.0

 

安装完需要重启

/etc/init.d/apache2 restart

 

6.测试的php7并获取php7安装的详细信息

默认网站的文件根目录是在/var/www/html下中。现在我们将在该目录中创建一个小型php文件(info.php的)在浏览器中调用它。该文件将显示很多关于我们的php安装,如安装的php版本和有用的一些细节。

vi /var/www/html/info.php

在系统文件/var/www/html下建立文件info.php,里面编写

<?php

phpinfo()

?>

(ESC + :wq  保存并退出vi)

现在,我们可以用浏览器访问http://localhost/info.php 或者 http://ip/info.php

正如你所看到的,php正常工作.如果你继续向下滚动,你会看到所有在php中已经启用的模块。mysql是没有列出,这意味着我们没有在php5支持mysql。

7.php获得mysql的支持

让php在mysql中获得支持,我们可以安装的php-mysql软件包。安装一些其他的php模块,以及您可能需要的应用程序,这是一个好主意:

apt-cache search php

 

还安装需要安装的

apt-get install (所有可安装的都装上)

现在重新启动apache2的:

/etc/init.d/apache2 restart

 

现在,重载http://localhost/info.php在您的浏览器,并再次向下滚动到模块部分。现在,你应该找到许多新的模块,包括mysql模块:

8.安装phpmyadmin

phpmyadmin是一个网络接口,通过它可以管理你的mysql数据库。

apt-get install phpmyadmin

 

phpmyadmin会自动安装在/usr/share/phpmyadmin下,然后将phpmyadmin拷贝到/var/www目录下面:

cp -r /usr/share/phpmyadmin /var/www/html

 

运行http://localhost/phpmyadmin/index.html,报错The mbstring extension is missing. Please check your PHP configuration.

修改php.ini文件(可以通过浏览http://localhost/info.php,在Loaded configuration file栏中找到php.ini文件所在的位置),gedit或vim修改php.ini文件:找到这一行:;extension=php_mbstring.dll,去掉句首的分号,保存退出。之后再次重启:

/etc/init.d/apache2 restart

再次浏览http://localhost/phpmyadmin/index.html,正常进入phpmyadmin了

(二)我打算在我自己的win10系统上面用Navicat for MySQL连接服务器上的MySQL

首先需要在Linux服务器上面添加相应的安全组

这是添加成功后的情况:

技术图片

 

 

 ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------

1.输入密码回车,登录;

mysql -u root -p

 

2.授权远程用户登录

  2.1.对所有 root 用户授权:

  GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY root用户密码 WITH GRANT OPTION;

  2.2.对指定 IP 的 root 用户授权:

  GRANT ALL PRIVILEGES ON *.* TO root@指定的IP地址 IDENTIFIED BY root用户密码 WITH GRANT OPTION;

  2.3.也可以授权指定的表,这就不搞的那么麻烦了,反正本地自己用。

3.重载授权表  //很重要 必须做

FLUSH PRIVILEGES;

 

4.exit 退出 Mysql

 

另外,我还遇到了一种情况

Navicat连接mysql数据库报错2003 - Can‘t connect to MySQL server on ‘*.*.*.*‘ (60 "Operation timed out)

分析问题:

这句话的意思是“不能够连接到主机(名称为localhost)上的MYSQL服务”。这样问题就明了了。既然连接不到,原因就可能是:

1----主机localhost上不存在MYSQL服务;

2----主机上存在MYSQL服务,但是服务未启动。

 

1)查看哪些端口被打开 netstat -anp

技术图片

127.0.0.1:3306 -- 指mysql数据库仅能在本地下访问;

 

(2)我们把127.0.0.1:3306改为0.0.0.0:3306,这样才能让所有用户可以远程访问mysql数据库;

打开/etc/mysql/mysql.cnf 找到bind-address= 127.0.0.1 把它改成 bind-address= 0.0.0.0

(mysql5.7.24版本,配置文件目录是:/etc/mysql/mysql.conf.d/mysqld.cnf)

技术图片

重启生效;

命令:service mysql restart   //这里需要注意,是mysql而不是mysqld ,我因为mysqld搞得弄不对,踩了很多坑

 

之后就连接成功了。

参考资料:

https://blog.csdn.net/weixin_42069074/article/details/86649611

https://blog.csdn.net/wkupaochuan/article/details/7908363

https://blog.csdn.net/weixin_41978547/article/details/79886744

https://www.cnblogs.com/zkfopen/p/9469787.html

https://www.cnblogs.com/adair/p/8665885.html

 

以上是关于阿里云服务器 :Linux环境下搭建Apache+php+mysql的主要内容,如果未能解决你的问题,请参考以下文章

阿里云 云服务器

apache环境下配置多个ssl证书搭建多个站点

apache环境下配置多个ssl证书搭建多个站点

PHP - CentOS下开发运行环境搭建(Apache+PHP+MySQL+FTP)

阿里云服务器centos7.2操作系统搭建PHP+Apache+Mysql+phpMyAdmin环境以及网站上线

Linux学习2-在阿里云服务器上部署禅道环境