虚拟机服务器(虚拟机安装web服务器)

背景故事小编近期在自学前端,涉及到数据库操作时候需要用到php,而小编的windows按照教程搭建好php环境后,依旧无法解析。买服务器的话,用处不大感觉有点浪费。所以通过虚拟机安装WEB服务器,再通过本机访问,就可以达到想要的效果了。然后在用xshell连接虚拟机,完全媲美买的服务器呀!这里与大家分享下过程。通过本机访问虚拟机的Apache虚拟机安装ubuntu这就不用说了吧?装个和谐版的虚拟机,然后读入ubuntu镜像安装。小编用的是VMware14,ubuntu18。通过xshell连接虚拟机注意,这部分的设置,要先将虚拟机的网络设置为NAT模式。但一般按照“经典”模式新建的虚拟机,都是NAT模式。在虚拟机中打开terminal,安装net-tools工具:sudo apt install net-tools安装完后,输入ifconfig即可查看本机ip地址,用于xshell的主机地址。这时候还不能连接xshell,还需安装openssh-server:sudo apt install openssh-server若使用root登录,需要进行以下步骤,否则,可直接跳过。建议使用非root登录。输入:sudo vim /etc/ssh/sshd_config若提示vim未安装,可先安装vim后再试:sudo apt install vim将文件改为如图所示:以上完成后,即可使用xshell进行登录:主机地址为之前看过的虚拟机的ip地址。用户名为root,或ubuntu的登录用户名;密码为ubuntu的登录密码。若root用户一直提示连接不成功,实在不行可创建一个新用户。连接成功安装MySQL连接xshell后,接下来就可以不用去管虚拟机了,直接在shell里操作即可。在xshell中输入:apt-get install mysql-server mysql-client然后按照提示输入root用户的密码,之后会自动完成安装。一般安装完会自动启动服务,所以不用去管。如果你就是想手动重启,好吧,给你指令:service mysql stop 停止service mysql start 启动service mysql restart 重启ps -aux | grep mysqld 查看是否启动netstat -tl | grep mysql查看是否监听MySQL8版本之后,有很大变动,旧版本的一些指令失效了,这里放几个新的常见的指令:修改root密码:ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;打开远程访问用root用户访问:GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’IDENTIFIED BY ‘密码’ WITH GRANT OPTION;这里允许root用户远程的时候,如果出现如下的错误,就先去把root用的host改成%,再运行上面那句话非root用户,这里就要先去创建一个用户:切换数据库mysql>use mysql;创建用户(user1:用户名;%:任意ip,也可以指定,root默认就是localhost;123456:登录密码)mysql>CREATE USER ‘user1’@’%’ IDENTIFIED BY ‘123456’;授权,默认创建的用户权限是usage,就是无权限,只能登录而已,(all:所有权限,这里有select,update等等权限,可以去搜一 下;后面的*.*:指定数据库.指定表,这里是所有;to后面就是你刚才创建的用户)mysql>grant all on *.* to ‘user1’@’%’;注意:用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:GRANT all ON databasename.tablename TO ‘username’@’host’ WITH GRANT OPTION;安装apache2还是在xshell中输入:sudo apt install apache2现在,通过ubuntu的浏览器进入到http://localhost,应该看到apache2的测试页:如果顺利的话会出现:It worke!apache的默认文档根目录是在ubuntu上的/var/www目录 ,配置文件是/ etc/apache2/apache2.conf。配置存储在的子目录在/etc/apache2目录。安装php7.0可以直接安装php7和apache的php7的模块,输入:apt-get install php7.0 libapache2-mod-php7.0安装完需要重启/etc/init.d/apache2 restart安装其他的一些模块sudo apt-get install php7.0-cli php7.0-common libapache2-mod-php7.0 php7.0 php7.0-mysql php7.0-fpm php7.0-mbstring php-gettext php-gd php-curlsudo a2enmod php7.0安装 phpMyAdminphpMyAdmin是一个网页管理MySQL的工具,执行以下安装命令:apt-get -y install phpmyadmin跳出来的选择框中选择Apache2,安装过程中还会要求你输入数据库的密码。然后在var/www/html/目录下创建phpmyadmin软连接,执行命令:sudo ln -s /usr/share/phpmyadmin /var/www/html/修改Apache配置文件包含phpmyadmin配置文件:sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.confsudo a2enconf phpmyadmin.confsudo service apache2 reload然后通过浏览器访问localhost/phpmyadmin/进行验证:(可选项)安装APCu 加速PHPapt-get -y install php-apcu本机访问虚拟机web服务器好了,到这里为止,所有的设置都已经完成了,接下来就是用本机去访问服务器了。由于防火墙关闭了http的80和数据库的3306端口,所以要打开:sudo ufw allow 80sudo ufw allow 3306打开本机的浏览器(小编用的Chrome,也推荐使用Chrome或Firefox),输入虚拟机的ip地址,看看发生了什么:本机成功访问了虚拟机的web服务器。做几个网页试试既然能访问了,那我们甩几个网页进去跑跑看咯!进入到ubuntu的/var/www/html文件夹中,将做好的网页放入,并将主页名字改为index.html,这做前端的都知道原因啦,不知道的面壁去。好了,这里又有问题了,怎么把文件放进去呢?有两种方式:1、通过xshell对应的xftp,如果通过此方法,需要改一下/www文件夹的权限:sudo chmod +x /var/www/html2、通过设置虚拟机的共享文件夹反正方法告诉你了,怎么做搜去吧、熬夜伤身体,小编要早睡。哼哼~【赠】php操作MySQL数据库对于前端,难免要操作数据库,小编前几天试了一下用php操作数据库,以下是参考代码(不是小编的代码,想要小编代码的可以私信小编,发送“前端”获取整套代码):1、接收用户输入的三个字段数据,并插入数据表中:<?php$dbhost = ‘localhost:3306’; // mysql服务器主机地址$dbuser = ‘root’; // mysql用户名$dbpass = ‘123456’; // mysql用户名密码$conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){die(‘连接失败: ‘ . mysqli_error($conn));}echo ‘连接成功<br />’;// 设置编码,防止中文乱码mysqli_query($conn , “set names utf8”);$runoob_title = ‘学习 Python’;$runoob_author = ‘RUNOOB.COM’;$submission_date = ‘2016-03-06’;$sql = “INSERT INTO runoob_tbl “.”(runoob_title,runoob_author, submission_date) “.”VALUES “.”(‘$runoob_title’,’$runoob_author’,’$submission_date’)”;mysqli_select_db( $conn, ‘RUNOOB’ );$retval = mysqli_query( $conn, $sql );if(! $retval ){die(‘无法插入数据: ‘ . mysqli_error($conn));}echo “数据插入成功\n”; mysqli_close($conn);?>2、显示数据表 runoob_tbl 的所有记录<?php$dbhost = ‘localhost:3306’; // mysql服务器主机地址$dbuser = ‘root’; // mysql用户名$dbpass = ‘123456’; // mysql用户名密码$conn = mysqli_connect($dbhost, $dbuser, $dbpass);if(! $conn ){die(‘连接失败: ‘ . mysqli_error($conn));}// 设置编码,防止中文乱码mysqli_query($conn , “set names utf8″);$sql = ‘SELECT runoob_id, runoob_title, runoob_author, submission_date FROM runoob_tbl’;mysqli_select_db( $conn, ‘RUNOOB’ );$retval = mysqli_query( $conn, $sql ); if(! $retval ){die(‘无法读取数据: ‘ . mysqli_error($conn));}echo ‘<h2>教程 mysqli_fetch_array 测试<h2>’;echo ‘<table border=”1”><tr><td>教程 ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>’;while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC)){echo “<tr><td> {$row[‘runoob_id’]}</td> “.”<td>{$row[‘runoob_title’]} </td> “.”<td>{$row[‘runoob_author’]} </td> “.”<td>{$row[‘submission_date’]} </td> “.”</tr>”;}echo ‘</table>’; mysqli_close($conn);?>结语以上就是本次的全部内容,欢迎大家评论留言、互相学习,咋们下次见。

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.175ku.com/26785.html