.htaccess
指定了部分配置,因此使用 Apache 服务器软件时可直接使用 NextCloud 服务端自带的配置项。Nginx 是近些年发展较快的 Web 服务器软件,相对 Apache 具有安装配置简单、资源占用少、负载能力更强的优点,通过将 NextCloud 服务端中的 .htaccess
配置转写为 Nginx 的配置,亦可很好的支持 NextCloud 服务端的运行,本文将使用 Nginx 服务器软件,并提供完整的 Nginx 配置示例可供参考。配置项 | 值 |
名称 | 输入一个自定义的存储桶名称,例如 nextcloud。注意,该名称确定后将不允许更改 |
所属地域 | 与所购 CVM 所属地域保持一致 |
其他 | 保持默认 |
yum install nginx
Y
并回车确认安装(下同)。Is this ok [y/d/N]:
Complete![root@VM-0-10-centos ~]#
nginx -v
nginx version: nginx/1.16.1
yum install epel-release yum-utils
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Ctrl-C
取消并重新执行该条命令(下同)。yum-config-manager --enable remi-php74
yum install php php-fpm
php -v
PHP 7.4.8 (cli) (built: Jul 9 2020 08:57:23) ( NTS )Copyright (c) The PHP GroupZend Engine v3.4.0, Copyright (c) Zend Technologies
yum install php-xml php-gd php-mbstring php-mysqlnd php-intl php-zip
php -m
yum install <php-module-name>
即可。/var/www/
目录下,您可以通过以下方法上传:wget
命令直接在服务器上下载安装包,例如:进入 /var/www/
目录后,执行命令 wget https://download.nextcloud.com/server/releases/nextcloud-19.0.1.zip
。/var/www/
目录。yum install lrzsz
安装 lrzsz。cd /var/www/
进入目标目录。rz -bye
,随后在 SSH 工具中选择下载到本地的 NextCloud 服务端安装包(依据 SSH 工具的不同,此处操作将不尽相同)。unzip nextcloud-<version>.zip
解压安装包,例如 unzip nextcloud-19.0.1.zip
。vim /etc/php-fpm.d/www.conf
打开 PHP-FPM 的配置文件,并依次修改配置项(关于 vim 的具体使用请参阅相关资料,您也可以使用其他方式修改该配置文件)。user = apache
修改为 user = nginx
。group = apache
修改为 group = nginx
。:wq
保存文件并退出(有关 vim 的详细操作指引,请参阅相关文档)。chown -R nginx:nginx /var/lib/php
systemctl enable php-fpm # 命令1
systemctl start php-fpm # 命令2
chown -R nginx:nginx /var/www
/etc/nginx/nginx.conf
,您可以:cp /etc/nginx/nginx.conf ~/nginx.conf.bak
将当前配置文件备份到家(HOME)目录。/etc/nginx/nginx.conf
修改或替换为如下内容:# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en/docs/# * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;worker_processes auto;error_log /var/log/nginx/error.log;pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;}http {log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;server {listen 80 default_server;listen [::]:80 default_server;server_name _;root /var/www/nextcloud;add_header Referrer-Policy "no-referrer" always;add_header X-Content-Type-Options "nosniff" always;add_header X-Download-Options "noopen" always;add_header X-Frame-Options "SAMEORIGIN" always;add_header X-Permitted-Cross-Domain-Policies "none" always;add_header X-Robots-Tag "none" always;add_header X-XSS-Protection "1; mode=block" always;client_max_body_size 512M;fastcgi_buffers 64 4K;gzip on;gzip_vary on;gzip_comp_level 4;gzip_min_length 256;gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {try_files $uri $uri/ =404;index index.php;}location ~ ^\\/(?:build|tests|config|lib|3rdparty|templates|data)\\/ {deny all;}location ~ ^\\/(?:\\.|autotest|occ|issue|indie|db_|console) {deny all;}location ~ ^\\/(?:index|remote|public|cron|core\\/ajax\\/update|status|ocs\\/v[12]|updater\\/.+|oc[ms]-provider\\/.+)\\.php(?:$|\\/) {fastcgi_split_path_info ^(.+?\\.php)(\\/.*|)$;set $path_info $fastcgi_path_info;try_files $fastcgi_script_name =404;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $path_info;fastcgi_param modHeadersAvailable true;fastcgi_pass 127.0.0.1:9000;fastcgi_intercept_errors on;fastcgi_request_buffering off;}location ~ ^\\/(?:updater|oc[ms]-provider)(?:$|\\/) {try_files $uri/ =404;index index.php;}location ~ \\.(css|js|svg|gif)$ {add_header Cache-Control "max-age=15778463";}location ~ \\.woff2?$ {add_header Cache-Control "max-age=604800";}}# Settings for a TLS enabled server.## server {# listen 443 ssl http2 default_server;# listen [::]:443 ssl http2 default_server;# server_name _;# root /usr/share/nginx/html;## ssl_certificate "/etc/pki/nginx/server.crt";# ssl_certificate_key "/etc/pki/nginx/private/server.key";# ssl_session_cache shared:SSL:1m;# ssl_session_timeout 10m;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;## # Load configuration files for the default server block.# include /etc/nginx/default.d/*.conf;## location / {# }## error_page 404 /404.html;# location = /40x.html {# }## error_page 500 502 503 504 /50x.html;# location = /50x.html {# }# }}
systemctl enable nginx
systemctl start nginx
config.php
,输入如下内容并根据注释修改相关的值:<?php$CONFIG = array('objectstore' => array('class' => '\\\\OC\\\\Files\\\\ObjectStore\\\\S3','arguments' => array('bucket' => 'nextcloud-1250000000', // 存储桶名称(空间名称)'autocreate' => false,'key' => 'AKIDxxxxxxxx', // 替换为用户的 SecretId'secret' => 'xxxxxxxxxxxx', // 替换为用户的 SecretKey'hostname' => 'cos.<Region>.myqcloud.com', // 将 <Region> 修改为所属地域,如 ap-shanghai'use_ssl' => true,),),);
/var/www/nextcloud/config/
目录下(保持文件名为config.php
),您可以通过 SFTP 或 SCP 软件上传文件,也可以通过 rz -bye
命令上传。chown nginx:nginx /var/www/nextcloud/config/config.php
/var/www/nextcloud/config/config.php
配置文件中的 trusted_domains
,详情请参阅 NextCloud 官方文档。配置项 | 值 |
数据名录 | /var/www/nextcloud/data(保持默认) |
配置数据库 | MySQL/MariaDB |
数据库用户 | root |
数据库密码 | 初始化云数据库 MySQL 时填写的 root 密码 |
数据库名 | nextcloud(或其他未被使用的数据库名) |
数据库主机(默认显示为 localhost) | 云数据库 MySQL 的内网地址 |
yum install php-posix
crontab -u nginx -e
i
键进入编辑模式,插入一行,内容如下:*/5 * * * * php -f /var/www/nextcloud/cron.php
ESC
退出编辑模式,输入 :wq
保存退出(有关 vi/vim 的详细操作指引,请参阅相关文档)。
上述配置使用了 NextCloud 官方推荐的每5分钟执行一次(分钟数是5的整数倍)。待5分钟后后台任务执行完成,可以打开浏览器登录 NextCloud 服务端,单击右上角用户名首字母图标,进入设置,在左侧菜单进入基本设置,可以看到后台任务处默认选中了 Cron。yum install php-pecl-apcu
systemctl restart nginx
systemctl restart php-fpm
vim /var/www/nextcloud/config/config.php
,打开 NextCloud 服务端的配置文件,在 $CONFIG = array (
中添加一行:'memcache.local' => '\\OC\\Memcache\\APCu',
,随后保存文件并退出。
vim /etc/php.d/40-apcu.ini
,打开 PHP APCu 的配置文件,将 ;apc.enable_cli=0
修改为 apc.enable_cli=1
(请注意需要同时去掉前面分号),保存退出。如果路径 /etc/php.d/40-apcu.ini
不存在,那么请自行在 /etc/php.d/
目录下查找并编辑有 apc 或 apcu 字样的 .ini
配置文件。
本页内容是否解决了您的问题?