您的位置 首页 php

部署nextcloud并使用php-fpm方式

宝塔面板配置

1. 新建网站和数据库(字符集选utf8mb4),php随便选个就行随后会替换配置。

2. 修改新建的数据库访问权限为所有人或指定IP并开放防火墙端口,否则一会从容器内无法访问。

3. 在`/www/server/nginx/conf`新建`php-fpm.conf`文件内容为:

 location ~ [^/]\.php(/|$)
{
try_files $uri =404;
fastcgi_pass  127.0.0.1:9001;
fastcgi_index index.php;
include fastcgi.conf;
include pathinfo.conf;
fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
}  

4. 在网站管理,站点设置

替换:

 #PHP-INFO-START  PHP引用配置,可以注释或修改
include enable-php-74.conf;
#PHP-INFO-END  

为:

 #PHP-INFO-START  PHP引用配置,可以注释或修改
include php-fpm.conf;
#PHP-INFO-END  

并添加:

 rewrite /.well-known/carddav /remote.php/dav permanent;
rewrite /.well-known/caldav /remote.php/dav permanent;  

部署容器

1. 执行

 docker run -itd -p 9001:9000 \
  -v nextcloud_fpm:/var/www/html \
  --restart=always \
  --name nc19fpm nextcloud:19-fpm  

nextcloud_fpm与nc19fpm可以自定义

2. 挂载容器卷到网站根目录

 mount -B 容器卷目录/nextcloud_fpm/_data /www/wwwroot/网站目录  

完成部署

1. 访问网站

2. 填写管理员账户名称与密码

3. 数据库选择mysql,用户名,密码,数据库名称按添加网站时的设置填写,数据库地址可以填主机IP或172.17.0.1。

4. 进入nextcloud后查看设置->概览->安全与设置警告,根据提示修复数据库错误。

5. 如果提示无法访问外网是因为宿主机没有打开网络转发,通过以下操作打开:

 firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --reload
systemctl restart docker  

配置ssl使用https访问

宝塔很容易可以配置证书实现https访问,只是如果非80,443端口访问需要配置:

1. 宝塔网站管理->设置->配置文件修改:`listen 443 ssl http2;`为`listen 你ssl使用的端口 ssl http2;`

2. 修改`容器卷目录下/config/config.php`文件添加可信url或删除原url指定端口。

可信url配置项为:

 'trusted_domains' => 
  array (
    0 => 'your_url:your_port',
  ),  

配置使用宿主机redis

宿主机配置:

1. 使用宝塔安装redis。

2. redis设置->性能调整,修改绑定IP为`127.0.0.1 172.17.0.1`可以同时被本机和容器使用。(这里注意绑定IP不是使用者IP是redis本机IP,没有被绑定的本机IP不能被连接。)

3. 开放防火墙`6379`端口。

nextcloud配置:

1. 找到容器卷下的`config`目录,这里不要修改`config.php`因为redis配置项会被`apcu.config.php`文件内容覆盖,所以直接修改`apcu.config.php`文件内容为:

 <?php
$CONFIG = array (
  'memcache.local' => '\OC\Memcache\Redis',
  'memcache.distributed' => '\OC\Memcache\Redis',
  'memcache.locking' => '\OC\Memcache\Redis',
  'redis' => 
  array (
    'host' => '172.17.0.1',
    'port' => 6379,
  ),
);  

保存不需要重启刷新测试一下是不是快了很多:)

修改最大上传文件大小

如果上传文件出错就尝试上传1M以内文件,如果1M以内文件可以正常上传说明出错原因大概率是限制了最大上传文件大小。

1. 修改nginx配置文件在`server {`块添加`client_max_body_size 1024m;`。

2. 新建`upload.ini`文件内容如下:

 upload_max_filesize=1024M
post_max_size=1024M  

然后执行(内容自行替换):

 docker cp 文件路径/upload.ini 容器名称或ID:/usr/local/etc/php/conf.d/  

3. 重启容器和nginx。

文章来源:智云一二三科技

文章标题:部署nextcloud并使用php-fpm方式

文章地址:https://www.zhihuclub.com/78610.shtml

关于作者: 智云科技

热门文章

网站地图