.htaccess
파일에 지정되어 있으므로 Apache 서버 소프트웨어 애플리케이션을 사용할 때 NextCloud의 내장 구성 항목을 직접 사용할 수 있습니다. Nginx는 최근 급속도로 발전하고 있는 Web 서버 소프트웨어 애플리케이션으로 Apache에 비해 설치 및 구성이 쉽고 리소스 사용량이 적으며 로드 용량이 큰 것이 특징입니다. NextCloud 서버의 .htaccess
구성을 Nginx 구성으로 변환하여 NextCloud 서버를 더 잘 유지할 수 있습니다. 본문은 Nginx 서버 소프트웨어 애플리케이션을 사용하며 참고용으로 완전한 Nginx 구성 예시를 제공합니다.구성 항목 | 값 |
이름 | nextcloud와 같은 사용자 정의 버킷 이름을 입력하십시오. 한 번 확인된 이름은 변경할 수 없습니다. |
리전 | CVM 인스턴스의 리전을 선택합니다 |
기타 | 기본 설정을 유지합니다 |
yum install nginx
Y
와 Enter 키를 눌러 설치를 확인합니다(이하 동일).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 |
데이터베이스 비밀번호 | TencentDB for MySQL 초기화 중에 입력한 root 사용자의 비밀번호 |
데이터베이스 이름 | nextcloud(또는 사용하지 않는 다른 이름) |
데이터베이스 호스트(기본적으로 localhost가 표시됨) | TencentDB for MySQL 인스턴스의 사설망 주소 |
yum install php-posix
crontab -u nginx -e
i
키를 눌러 편집 모드로 이동한 후 한 행을 삽입합니다. 내용은 다음과 같습니다.*/5 * * * * php -f /var/www/nextcloud/cron.php
ESC
를 눌러 편집 모드를 종료하고 :wq
를 입력하여 저장 후 종료합니다. vi/vim의 구체적인 작업 가이드는 관련 문서를 참조하십시오.
상기 구성에서는 공식적으로 권장되는 실행 빈도를 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
구성 파일을 찾아 편집합니다.
문제 해결에 도움이 되었나요?