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,添加虚拟主机配置:
1 <VirtualHost *:80> 2 ServerName www.yourName.top 3 DocumentRoot /var/www/html/who 4 <Directory /var/www/html/who/> 5 Options Indexes FollowSymLinks MultiViews 6 AllowOverride None 7 Order allow,deny 8 allow from all 9 </Directory> 10 ErrorLog ${APACHE_LOG_DIR}/error.log 11 CustomLog ${APACHE_LOG_DIR}/access.log combined 12 </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看到的内容时一样的,但是使用浏览器的查看源代码功能,看到的代码如下:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>Bob's Auto Parts - Order Results</title> 5 </head> 6 <body> 7 <h1>Bob's Auto Parts</h1> 8 <h2>Order Result</h2> 9 <p>Order processed.</p> </body> 10 </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;
再次启动实施看看吧。