linux下安装apache和php和mysql
我的系统环境时ubuntu 18.04.3,为了ROS:
首先:安装下面一堆软件包:
sudo apt install nginx nginx-doc fcgiwrap
sudo apt install apache2-doc php-pear apache2-suexec-pristine
sudo apt install apache2 apache2-ssl-dev php7.2 mysql-server mysql-client
如果分开安装,安装先安装apache2,php7和mysql的顺序安装,不要错了。
接着:安装测试:
apache2 -v
返回信息:
Server version: Apache/2.4.29 (Ubuntu)
Server built: 2019-09-16T12:58:48
php -v
返回信息:
PHP 7.2.19-0ubuntu0.18.04.2 (cli) (built: Aug 12 2019 19:34:28) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.19-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies
mysql -V
返回信息:
mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
有这些表明安装成功。剩下的就是配置工作了,安装好了,其实就已经启动了,什么都可以不做了。
然后:测试,
测试apache2
打开浏览器,在地址栏输入:http://127.0.0.1/,按下回车
出现了Apache页面就表示安装成功啦!
测试php7
改变/var/www/html/目录的权限,sudo cd /var/www/ && chmod o+w html/
cd html/
vim testp.php文件,内容如下:
<?php
echo phpinfo();
保存,退出
浏览器访问http://127.0.0.1/testp.php,就应该可以看到php的版本与其他信息,成功了一半。
测试并配置数据库:
修改数据库,将匿名用户在mysql中删除:
sudo mysql -u root -p
输入超级用户密码:,检验无误后,就变成mysql的提示符号:mysql>
show databases #查看数据库
use mysql #切换到mysql数据库
delete from user where User=''; #删除匿名用户
quit #退出数据库
sudo mysqladmin -u root -p reload #刷新数据库
输入密码,没有任何提示,表明执行成功。
然后:如果想要将代码直接应用时,可以将网站代码直接放到/var/www/html/目录即可,刚才已经给了权限了,进行简单配置就可以使用了。
然后:如果想使用二级域名访问网站,修改/etc/apache2/sites-available/000-default.conf,添加虚拟主机配置:
<VirtualHost *:>
ServerName www.yourName.top
DocumentRoot /var/www/html/who
<Directory /var/www/html/who/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
建立链接文件:sudo ln -s /etc/apache2/sites-available/yuyu /etc/apache2/sites-enabled/yuyu
检查配置文件语法sudo apache2ctl configtest
重启Apache2sudo /etc/init.d/apache2 restart
通过浏览器用二级域名访问,成功,就万事大吉了。
最后:我们来看看php的用处了。
在/var/www/html/文件价下新建一个文件processorder.php
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Bob's Auto Parts - Order Results</titl e>
5 </head>
6 <body>
7 <h1>Bob's Auto Parts</h1>
8 <h2>Order Result</h2>
9 <?php
10 echo '<p>Order processed.</p>'
11 ?>
12 </body>
13 </html>
通过浏览器访问http://127.0.0.1/processorder.php
开始觉得和html看到的内容时一样的,但是使用浏览器的查看源代码功能,看到的代码如下:
<!DOCTYPE html>
<html>
<head>
<title>Bob's Auto Parts - Order Results</title>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Order Result</h2>
<p>Order processed.</p> </body>
</html>
是不是对php的解析有点感觉了。好了,到此为止吧。
今天发现还是nginx更加轻便点,安装好了:启动:
nginx -s reload
什么有错误:
2019/10/26 22:26:23 [warn] 2202#2202: could not build optimal types_hash, you should increase either types_hash_max_size: 1024 or types_hash_bucket_size: 64; ignoring types_hash_bucket_size
2019/10/26 22:26:23 [notice] 2202#2202: signal process started
2019/10/26 22:26:23 [error] 2202#2202: open() "/run/nginx.pid" failed (2: No such file or directory)
修改文件:vim /etc/nginx/nginx.conf中的http {}里添加以下两行:
types_hash_max_size 2048;
types_hash_bucket_size 1024;
再次启动实施看看吧。
最新文章
- WPF-系统托盘
- spring访问静态资源出错,No mapping found for HTTP request with URI xxx/resources/js/jquery.min.js...
- Opencv实现运动检测
- 16.O(logn)求Fibonacci数列[Fibonacci]
- Codeigniter:如何写一个好的Model
- BeX5学习笔记
- Hadoop2.6.0(2.4~2.7)完全分布式搭建-入门向 新手向 详细流程
- acdream1116 Gao the string!(hash二分 or 后缀数组)
- vs中常用的快捷键
- Docker container network configuration
- HTML 5 Web Storage 使用
- javascript——ajax应用
- android异步加载AsyncTask
- css多类选择器
- docker启动后忘记挂载nvidia-docker-volume的解决方法
- hyper-v的p2v工具
- 如果让我重来,我会选择C和(或者)Python。
- Easyui使用心得(1)--DateGrid表格
- js代码之编程习惯
- UI设计师需要熟记的45个快捷键Windows、Mac