Ubuntu16.04部署EduSoho网校版开源系统

继上次Centos7部署Edusoho后,在使用过程中我发现了一个问题
1、用户模块:当你注册的用户数(包括超管手动添加、用户自行注册、在数据库添加的用户)超过7个的时候,点击后台管理——用户,这个模块的时候会出现白屏,啥都没有;为了查实具体是哪出了问题,我做了以下的排查
(I.)将mariadb卸载干净并重新安装了mysql57的源,将mariadb替换成mysql57,但事实证明,并不是数据库的问题,我替换好后用户模块仍然是白屏。
(II.)重新创建一台Ubuntu14.04的系统,并且按照官文部署了nginx+Mysql55+php55,试了一下这个办法后确实是能解决用户模块白屏的问题。
昨天晚上搞了半天,Ubuntu14.04始终装不上PHP70,数据库也是只有55,找了好久百度,提供的方法都大同小异,但是没有用,还把我的apt搞坏了,索性把Ubuntu14.04推了,重新装个Ubuntu16.04,以下配置都是在16.04上的,因为16.04中已有的也是唯一的PHP版本是7.0,Mysql版本是57
不是说Ubuntu14.04的部署不了edusoho,是因为如果你想从CentOS7把网站的所有数据(包括网站、数据库)迁移到Ubuntu上就的话,PHP必须大于5.6,Mysql必须大于5.5,而14.04最大的PHP版本也就5.5,Mysql最大版本是5.5,数据库是满足要求了,但是PHP没有满足,而16.04最大的PHP版本是7.0,Mysql最大版本是5.7,刚好都满足要求。
如果你是全新部署的话,Ubuntu14.04是可以直接部署的。
一、Ubuntu配置方法如下
1、安装Nginx、PHP70、Mysql57
1
2
3
4
5
apt-get install nginx -y
apt-get install mysql-server -y
sudo apt-get install php-pear php7.0-cli php7.0-common php7.0-curl \
php7.0-dev php7.0-fpm php7.0-json php7.0-mbstring php7.0-mcrypt \
   php7.0-mysql php7.0-opcache php7.0-zip php7.0-intl php7.0-gd php7.0-xml
2、修改Mysql配置,让Navicat之类的软件可以远程连接数据库
1
vi /etc/mysql/mysql.conf.d/mysqld.cnf
3、将mysqld.cnf里面的这个修改为0.0.0.0
1
2
3
bind-address            = 127.0.0.1
改为
bind-address = 0.0.0.0
4、修改PHP上传大小配置
1
vim /etc/php/7.0/fpm/php.ini
5、修改这三个值的大小
1
2
3
post_max_size = 1024M
memory_limit = 1024M
upload_max_filesize = 1024M
6、修改PHP SOCK
1
vi /etc/php/7.0/fpm/pool.d/www.conf

1
###### 7、重启php-fpm

service php7.0-fpm restart

1
2
###### 8、配置Nginx
###### Ubuntu的Nginx跟Centos的Nginx有点不太一样,CentOS的Nginx是直接在```/etc/nginx/conf.d```里面创建个conf文件然后编辑就好,但是Ubuntu里面提供了两种,一种跟CentOS一样在conf.d里面创建个conf,一种是在```/etc/nginx/sites-enabled/```里面创建配文,无需后缀,本文是在```/etc/nginx/sites-enabled/```里面配置的

vim /etc/nginx/sites-enabled/edusoho

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
```
server {
listen 80;

# [改] 网站的域名
server_name www.example.com example.com;

#301跳转可以在nginx中配置

# 程序的安装路径
root /var/www/edusoho/web;

# 日志路径
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

location / {
index app.php;
try_files $uri @rewriteapp;
}

location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}

location ~ ^/udisk {
internal;
root /var/www/edusoho/app/data/;
}
location ~ ^/(app|app_dev)\.php(/|$) {
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
fastcgi_param HTTP_X-Sendfile-Type X-Accel-Redirect;
fastcgi_param HTTP_X-Accel-Mapping /udisk=/var/www/edusoho/app/data/udisk;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
}

# 配置设置图片格式文件
location ~* \.(jpg|jpeg|gif|png|ico|swf)$ {
# 过期时间为3年
expires 3y;

# 关闭日志记录
access_log off;

# 关闭gzip压缩,减少CPU消耗,因为图片的压缩率不高。
gzip off;
}

# 配置css/js文件
location ~* \.(css|js)$ {
access_log off;
expires 3y;
}

# 禁止用户上传目录下所有.php文件的访问,提高安全性
location ~ ^/files/.*\.(php|php7.0)$ {
deny all;
}

# 以下配置允许运行.php的程序,方便于其他第三方系统的集成。
location ~ \.php$ {
# [改] 请根据实际php-fpm运行的方式修改
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
fastcgi_param HTTP_PROXY "";
}
}

注意:

配文中有2处地方一定一定要修改,不然部署完后打开是502
第一处:

1
2
location ~ \.php$ {  
      fastcgi_pass   unix:/var/run/php7.0-fpm.sock;

这里的

改为```unix:/var/run/php/php7.0-fpm.sock;```
1
2

第二处:

location ~ ^/(app|app_dev).php(/|$) {
fastcgi_pass unix:/var/run/php7.0-fpm.sock;

1
这里的

unix:/var/run/php7.0-fpm.sock;

1
改为

unix:/var/run/php/php7.0-fpm.sock;

1
2

##### 二、下载Edusoho系统包

cd /www
wget https://edusoho-official.oss-cn-hangzhou.aliyuncs.com/2021-02-26/17530ae7ddbd3d44/edusoho-8.8.6.zip
unzip edusoho-8.8.6.zip
chmod 777 -R edusoho
chown www-data:www-data edusoho -Rf

1
2
安装包网址可以到我另外一个文章《CentOS7部署EduSoho网校版开源系统》文末获取,那里都是比较新的官方包
##### 三、重启LNMP服务

service nginx restart
service php7.0-fpm restart
service mysql restart
`

好了,恭喜你部署完毕,可以打开网址进行安装了

传送门

Ubuntu16.04官网下载地址
Ubuntu14.04官网下载地址
关注我的公众号吧~戴戴的Linux

文章目录
  1. 1. 继上次Centos7部署Edusoho后,在使用过程中我发现了一个问题
  2. 2. 1、用户模块:当你注册的用户数(包括超管手动添加、用户自行注册、在数据库添加的用户)超过7个的时候,点击后台管理——用户,这个模块的时候会出现白屏,啥都没有;为了查实具体是哪出了问题,我做了以下的排查
    1. 2.1. (I.)将mariadb卸载干净并重新安装了mysql57的源,将mariadb替换成mysql57,但事实证明,并不是数据库的问题,我替换好后用户模块仍然是白屏。
    2. 2.2. (II.)重新创建一台Ubuntu14.04的系统,并且按照官文部署了nginx+Mysql55+php55,试了一下这个办法后确实是能解决用户模块白屏的问题。
    3. 2.3. 昨天晚上搞了半天,Ubuntu14.04始终装不上PHP70,数据库也是只有55,找了好久百度,提供的方法都大同小异,但是没有用,还把我的apt搞坏了,索性把Ubuntu14.04推了,重新装个Ubuntu16.04,以下配置都是在16.04上的,因为16.04中已有的也是唯一的PHP版本是7.0,Mysql版本是57
    4. 2.4. 不是说Ubuntu14.04的部署不了edusoho,是因为如果你想从CentOS7把网站的所有数据(包括网站、数据库)迁移到Ubuntu上就的话,PHP必须大于5.6,Mysql必须大于5.5,而14.04最大的PHP版本也就5.5,Mysql最大版本是5.5,数据库是满足要求了,但是PHP没有满足,而16.04最大的PHP版本是7.0,Mysql最大版本是5.7,刚好都满足要求。
    5. 2.5. 如果你是全新部署的话,Ubuntu14.04是可以直接部署的。
    6. 2.6. 一、Ubuntu配置方法如下
    7. 2.7. 1、安装Nginx、PHP70、Mysql57
    8. 2.8. 2、修改Mysql配置,让Navicat之类的软件可以远程连接数据库
    9. 2.9. 3、将mysqld.cnf里面的这个修改为0.0.0.0
    10. 2.10. 4、修改PHP上传大小配置
    11. 2.11. 5、修改这三个值的大小
    12. 2.12. 6、修改PHP SOCK
  3. 3. 注意:
  • 好了,恭喜你部署完毕,可以打开网址进行安装了
  • 传送门


  • 本站总访问量 本文总阅读量