开发板上如何配置apahe2+mysql+php7

1,安装apache2

sudo apt-get install apache2

修改webroot

vim /etc/apache2/apache2.conf
#在其中复制最后一个 <Directory>...</Directory>的内容,粘贴,并且把其最终的地址更改为自己的webroot
vim /etc/apache2/sites-available/000-default.conf 
#把其中的DocumentRoot改为刚刚填写的webroot

重启apache2

sudo service apache2 restart
sudo /etc/init.d/apache2 restart

 2,安装mysql

sudo apt-get install mysql-server

我的版本安装完成以后mysql默认是用sudo启动的,密码是‘’,如何让mysql不用sudo也能启动而且用密码来识别呢?

sudo mysql -u root -p
//进入以后
use mysql;
// 下面这句命令有点长,请注意。
update mysql.user set authentication_string=password('密码') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password"; 
flush privileges;
quit;

3,安装php

目前开发板上只有php7能安装,php5已经没有了,各种方法安装php5均以失败告终,所以最终只能升级代码,使用php7,暴力升级php版本是真的烦

sudo apt-get install php
sudo apt-get install php-mysql
sudo apt-get install php-curl 

重启apache应该就可以在webroot中打开php文件了,

但是,也不排除有些特殊情况下不知道什么原因就导致apache2不认识php,不会解析php代码,应该怎么做呢?

装一个支持包就行了:记得重启apache

sudo apt-get install libapache2-mod-php

其他相关的配置也写在本博客中:

给php安装gd插件:

sudo apt-get install php-gd

然后在php.ini(/etc/php/7.2/fpm/php.ini)中把gd2的extension打开,在本机webroot下输出phpinfo(),看到gd处于打开状态就可以了。

补充一下哈,后期见过syslog里面报错gd2找不到的bug,所以在php.ini中打开extension的时候,要注意,extension=gd还是extension=gd2,当然如果不想这么改,找到gd.so然后建立一个超链接就可以了

安装php-fpm插件(好像是这样的)

sudo apt-get install php-fpm 

##此处补充一句,php-fpm如果是给nginx用的话,,老铁们,一定要注意了,你会发现,nginx能够打开静态的html,说什么都打不开php,显示404找不到,这是为啥呢?简而言之,nginx会把请求php的内容转发到9000端口,如果你不让php-fpm监听9000端口,呵呵呵呵呵,php-fpm就收不到任何消息啊,坑啊坑,,所以,你可以使用:netstat -antp | grep :9000 来检测一下phpfpm是否搭理你,如果什么消息都没有,说明你的php-fpm根本没有监听9000!所以如何让php-fpm监听9000呢?方法:1)切换到 /etc/php/7.2/fpm/pool.d  目录下  打开 www.conf。2),看到这行  listen = /run/php/php7.2-fpm.sock           将其改成  listen = 127.0.0.1:9000。保存重启nginx和php-fpm,完成!

php-fpm高并发配置:

经过本人实验发现fpm只能并发6个,所以需要改fpm的配置文件,起码改成可以并发22个。sudo vim /etc/php/7.2/fpm/pool.d/www.conf,特殊备注:此文件夹下不要乱放东西,因为主要的php-fpm配置文件在/etc/php/7.2/fpm/php-fpm.conf下,而它是把/etc/php/7.2/fpm/pool.d/*.conf全引用过来了。
目前试验过的比较好的配置参数是这样的:

pm = dynamic
pm.max_children = 150
pm.start_servers = 15 #注意这个参数的值必须在下两个参数之间,否则php-fpm启动不起来,一直报错。
pm.min_spare_servers = 4
pm.max_spare_servers = 15

#表现正确回复22个,fpm有关的进程达到71个,有明显改善。

php安装zip插件

sudo apt-get install php-zip
#这也太简单了吧?简直不敢相信
#php -m查看一下也在的,然后去php.ini中加上extension扩展,扩展指向zip.so就行了,使用一下貌似也木有问题。

4,如何向mysql中导入或者导出数据?

create database 数据库名称; 
mysql -h localhost -u root -p yourdatabase < ./hehe.sql
#这是从sql文件中,向数据库yourdatabase导入数据
mysqldump -h localhost -u root -p yourdatabase > ./test.sql
#从yourdatabase中导出数据并且保存为test.sql

5,经常向另一台ubuntu系统的设备传输数据,如何免密传输?

首先,本机上应该有ssh服务,没有的话安装一个

sudo apt-get install openssh-server

需要两台ubunut设备:

my computer:211
aim computer:129

ssh-keygen -t rsa    
#on my computer,然后会提示输入密码认证啥的,不用管,直接摁enter,然后会生成俩文件 ~/.ssh,其中一个是: id_rsa ,另一个是:id_rsa.pub,我们需要把把id_rsa.pub传输到aim computer上
scp ./id_rsa.pub pi@192.168.3.129:~/.ssh  
#此时还是需要密码的,然后要登上aim computer修改一下刚刚传过来的文件的名称
mv id_rsa.pub authorized_keys
#有可能要加sudo,记不清了,传过来之前修改倒是也可以,完成以后,my computer向aim computerscp数据就不需要密码了

6,设置chromium-browser全屏启动

cd /home/pi/.config/chromium/Default/
chmod 444 Preferences    #设置权限
chattr -i Preferences    #忽略所有对该文件权限之类的更改,按我的理解嘛,就是异常退出以后下一次再启动chromium的时候不提醒是否恢复上次界面,取消的设置是这样的,chattr -i /home/username/.config/chromium/Default/Preferences,其实就是再执行一次chattr -i Preferences
cd ~/.config/lxsession/LXDE-pi
sudo vim autostart 
#添加一句话,注意,没有引号,也没有后台运行符
chromium-browser --start-fullscreen http://www.baidu.com

为什么不能加到/etc/rc.local中呢?因为rc.local是整个机器的启动文件,据说默认是sudo运行命令的,而chromium不能sudo运行,个人猜测那时候有些程序还没有启动或者加载,所以除了chromium还有其他程序也不能这样启动

7,如何安装nginx

注意,要不想nginx和apache2抢80端口,建议任选其中一个运行,不能同时运行哈。

安装依赖包:install build-essential libpcre3 libpcre3-dev libssl-dev 等

下载源码文件,如果需要对应的插件比如rtmp插件一块下好

./configure的时候使用--add-module=指定对应的插件目录,

make -j8

sudo make install 

如果你已经有编译好的nginx,可以通过sudo ./nginx -V知道当年的编译命令。

nginx.conf各有需求,不多说了。

原文地址:https://www.cnblogs.com/0-lingdu/p/11399375.html