-

[링크 : https://gist.github.com/RedactedProfile/ac48c270d2bbe739f9f3]

[링크 : https://ckeditor.com/docs/ckeditor4/latest/examples/fileupload.html]

[링크 : https://hashcode.co.kr/questions/3187/nodejs-ckeditor로-이미지를-올리기]

[링크 : https://www.npmjs.com/package/ckeditor]


+

2019.03.08

cke4_node.zip


ckeditor 4.11 을 기준으로 만든거고, 5.x 대에도 가능한지는 아직 테스트 하지 못함

express -e

를 이용하여 ejs로 express-generator로 생성후 아래의 파일을 수정함


index.js

var express = require('express');
var path = require('path');
var uuid = require('uuidv4');
var router = express.Router();

var multipart = require('connect-multiparty');
var multipartMiddleware = multipart();

/* GET home page. */
router.get('/', function (req, res, next) {
res.render('index', { title: 'Express' });
});

router.post('/uploader', multipartMiddleware, function (req, res) {
var fs = require('fs');

var orifilepath = req.files.upload.path;
var orifilename = req.files.upload.name;
var srvfilename = uuid() + path.extname(orifilename);
fs.readFile(orifilepath, function (err, data) {
var newPath = __dirname + '/../public/uploads/' + srvfilename;
fs.writeFile(newPath, data, function (err) {
if (err) console.log({ err: err });
else {
html = "{\"filename\" : \"" + orifilename + "\", \"uploaded\" : 1, \"url\": \"/uploads/" + srvfilename + "\"}"
console.log(html)
res.send(html);
}
});
});
});

module.exports = router;


index.ejs

4.11과 4.9 둘 다 작동되는 것 확인

<!DOCTYPE html>
<html>

<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<!-- <script src="https://cdn.ckeditor.com/4.11.3/standard/ckeditor.js"></script> -->
<script src="https://cdn.ckeditor.com/4.9.0/standard/ckeditor.js"></script>
</head>

<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>

<form>
<textarea id="ckeditor" name="content"></textarea>
</form>

<script>
CKEDITOR.replace('ckeditor', {
uploadUrl: '/uploader'
});
</script>
</body>

</html>


+

ckeditor 5 기준. 4랑 비교해서 에디터 생성하는 방법을 제외하면 동일하게 작동한다.

index.ejs

<!DOCTYPE html>
<html>

<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
<script src="https://cdn.ckeditor.com/ckeditor5/12.0.0/classic/ckeditor.js"></script>
</head>

<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>

<form>
<textarea id="ckeditor" name="content"></textarea>
</form>

<script>
ClassicEditor
.create(document.querySelector('#ckeditor'), {
language: 'ko',
ckfinder: {
uploadUrl: '/uploader'
}
})
.catch(error => {
console.error(error);
});
</script>
</body>

</html>


[링크 : https://okky.kr/article/461219]

[링크 : https://www.cikorea.net/bbs/view/qna?idx=19725&view_category=&lists_style=]

[링크 : https://ckeditor.com/docs/ckeditor4/latest/guide/dev_file_upload.html]


[링크 : https://stackoverflow.com/questions/17699763/ckeditor-using-and-integration-in-node-js-web-page]

[링크 : https://stackoverflow.com/questions/21378630/node-js-sails-js-wysiwyg-editor-images]

[링크 : https://github.com/sca-/sails-ckeditor-sample]



'프로그램 사용 > ckeditor(웹에디터)' 카테고리의 다른 글

ckeditor full과 standard 그리고 옵션 설정  (0) 2019.04.03
ckeditor 모드별 모양  (0) 2019.03.08
ckeditor / fckeditor?  (0) 2014.07.16
ckeditor 사용하기  (0) 2013.02.22
fckeditor plugin for squirrelMail  (0) 2011.06.14
Posted by 구차니
프로그램 사용/nginx2019. 3. 7. 14:27

일단 프록시 설정이 먼가 잘못되었나 싶어서 고민했는데

알고보니.. 망할 포트를 잘못 설정해서 502 bad gateway 뿜뿜..

결론은.. 머.. 잘 돌아가는 것으로 보인다?


// 홈페이지 1

    server {

        listen       80;

        server_name domain.co.kr www.domain.co.kr;

        location / {

                proxy_pass http://localhost:20000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

    }


// 홈페이지 2, 특정 하위 주소에 다른 서비스를 연결함

    server {

        listen       80;

        server_name domain2.co.kr www.domain2.co.kr;

        location / {

                proxy_pass http://localhost:30000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }


        location /sub1 {

                proxy_pass http://localhost:40000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

    }


// 다른 서비스로 연결되는 녀석을 서브 도메인으로 연결

    server {

        listen       80;

        server_name sub1.domain2.co.kr;

        location / {

                proxy_pass http://localhost:40000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

    } 


// 홈페이지 3, 서비스를 서브 도메인으로도 연결

    server {

        listen       80;

        server_name sub2.domain2.co.kr;

        location / {

                proxy_pass http://localhost:50000/;

                proxy_set_header X-Real-IP $remote_addr;

                proxy_set_header Host $host;

                proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

    }


'프로그램 사용 > nginx' 카테고리의 다른 글

nginx 리버스 프록시 와 ckeidtor upload 413 에러  (0) 2019.04.03
nginx 502 bad gateway와 audit  (0) 2019.03.20
nginx load balance  (0) 2019.03.05
nginx reverse proxy  (2) 2018.10.30
nginx fastcgi 캐싱  (0) 2015.09.10
Posted by 구차니
하드웨어/RAID2019. 3. 6. 20:26

어제 오전 10시 부터 포맷해서 걸어놓은건데..

어제 퇴근전 30%대

오늘 아침에 확인하니 71%대

지금 확인하니 98%..


근데 로그 상으로는 오전 10시에 24시간에 걸쳐서 끝나긴 했는데


RAID 상태를 확인해보면 98%

도대체 어느게 맞는 값일까?


'하드웨어 > RAID' 카테고리의 다른 글

iscsi mdadm  (0) 2019.03.13
LSI raid ir it mode  (0) 2019.03.11
raid5 vs raid6 vs raid10  (0) 2019.03.04
(Linux)OS 작동중에 하드를 뽑으면 어떻게 될까?  (0) 2019.02.28
PERC foreign RAID import  (0) 2019.02.26
Posted by 구차니
프로그램 사용/LVM2019. 3. 5. 13:07

LVM은 Logical Volume Manager의 약자이다.

꽤 오래전부터 기본으로 사용은 했는데 싫어서 매번 삭제하고 임의로 ext3나 ext4로 써왔는데

서버 밀면서 처음 써보다 보니 헤매고 있다.. -_ㅠ


아무튼 정리하자면

PV(Physical Volume)

VG(Volume Group)

LV(Logical Volume)


앞의 세개가 접두이고, 그 이후에 명령어들이 존재한다.

pvchange   pvck       pvcreate   pvdisplay  pvmove     pvremove   pvresize   pvs        pvscan 

lvchange     lvcreate     lvextend     lvmconf      lvmdiskscan  lvmetad      lvmsadc      lvreduce     lvrename     lvs

lvconvert    lvdisplay    lvm          lvmconfig    lvmdump      lvmpolld     lvmsar       lvremove     lvresize     lvscan 

vgcfgbackup    vgck           vgdisplay      vgimport       vgmknodes      vgrename       vgsplit

vgcfgrestore   vgconvert      vgexport       vgimportclone  vgreduce       vgs
vgchange       vgcreate       vgextend       vgmerge        vgremove       vgscan


PV는 /dev/sd? 에 매핑되는 녀석으로 물리적 하드에 대한 관리를 하게되고 VG는 PV를 기반으로 생성하게 된다. 

기존의 Volume Group에 추가하려면 vgextend

새로운 Volume Group으로 Physical Volume을 추가하려면 vgcreate로 하면 된다.

Use vgcreate(8) to create a new VG on the PV, or vgextend(8) to add the PV to existing VG. 


그리고 PV를 VG로 묶을때 설정에 따라 RAID 처럼 묶을수도 있고 JBOD으로 묶을수도 있다.


생성 순서로 보면

# pvcreate /dev/sd??

# vgcreate vgname /dev/sd??

# lvcreate -L 용량 vgname -n lvname


Centos7 기준

/dev/mapper/centos-[lvname]

/dev/centos/lvname

/dev/dm-0

/dev/dm-1


식으로 되어있는데

/dev/dm-? 이 실제 장치이고

그 외에는 전부 심볼릭링크로 /dev/dm-? 으로 연결되어 있다.


[링크 : https://jangpd007.tistory.com/235]

[링크 : https://sgbit.tistory.com/13]

[링크 : https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c01847647]

[링크 : https://closed0402.tistory.com/103]

[링크 : https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c01847647]


+

selinux가 또 태클을 거는데..

mount: /home/test does not contain SELinux labels.

       You just mounted an file system that supports labels which does not

       contain labels, onto an SELinux box. It is likely that confined

       applications will generate AVC messages and not be allowed access to

       this file system.  For more details see restorecon(8) and mount(8).


이것만 해서는 안되고.. 서버 리부팅 까지 해주니 마운트가 되네.. 머냐...

# restorecon -Rv /raid1

# fixfiles relabel 

[링크 : https://linuxbuff.wordpress.com/tag/redhat/]

'프로그램 사용 > LVM' 카테고리의 다른 글

lvm as ssd cache  (0) 2022.02.14
애증의.. LVM? centos 기본값 설치에서 변형했더니...  (0) 2019.03.05
lvm raid  (0) 2019.01.15
LVM - Logical Volumegroup Management  (0) 2009.01.22
Posted by 구차니
프로그램 사용/LVM2019. 3. 5. 11:33

어라.. RAID-6 볼륨이 원래 4.36TB 인데

lvm 으로 해서 4.74TB가 잡혀서 어디서 왔나 했더니..

SSD랑 HDD랑 같은 pool로 잡혀서 그런식으로 걸쳐 있는 듯?


pool 부터 다시 잡아야 하나.. 아니면 런타임에 pool을 변경이 가능하려나?


ssm 이라는 녀석 설치!

# yum install system-storage-manager 

[링크 : https://www.linuxsysadmin.biz/lvm-gui-centos-7/]


# ssm list

-------------------------------------------------------------

Device        Free       Used      Total  Pool    Mount point

-------------------------------------------------------------

/dev/sda                       465.25 GB          PARTITIONED

/dev/sda1                        1.00 GB          /boot

/dev/sda2  4.00 MB  464.24 GB  464.25 GB  centos

/dev/sdb                         4.36 TB

/dev/sdb1  0.00 KB    4.36 TB    4.36 TB  centos

-------------------------------------------------------------

------------------------------------------------

Pool    Type  Devices     Free     Used    Total

------------------------------------------------

centos  lvm   2        4.00 MB  4.82 TB  4.82 TB

------------------------------------------------

--------------------------------------------------------------------------------------

Volume             Pool    Volume size  FS     FS size       Free  Type    Mount point

--------------------------------------------------------------------------------------

/dev/centos/root   centos     50.00 GB  ext4  50.00 GB   43.00 GB  linear  /

/dev/centos/swap   centos     31.44 GB                             linear

/dev/centos/samba  centos      4.74 TB  ext4   4.74 TB    4.46 TB  linear  /home/samba

/dev/sda1                      1.00 GB  ext4   1.00 GB  787.87 MB  part    /boot

--------------------------------------------------------------------------------------


개념부터 봐야겠다..

[링크 : https://kit2013.tistory.com/199]



+

 # df -h

Filesystem                Size  Used Avail Use% Mounted on

/dev/mapper/centos-root    50G  4.3G   43G  10% /

devtmpfs                   32G     0   32G   0% /dev

tmpfs                      32G     0   32G   0% /dev/shm

tmpfs                      32G   11M   32G   1% /run

tmpfs                      32G     0   32G   0% /sys/fs/cgroup

/dev/sda1                 976M  150M  760M  17% /boot

/dev/mapper/centos-samba  4.8T   89M  4.5T   1% /home/samba

tmpfs                     6.3G     0  6.3G   0% /run/user/0

tmpfs                     6.3G  4.0K  6.3G   1% /run/user/42

tmpfs                     6.3G   44K  6.3G   1% /run/user/1000 

# lvdisplay

  --- Logical volume ---

  LV Path                /dev/centos/samba

  LV Name                samba

  VG Name                centos

  LV UUID                9Aa0oO-Ndwh-5IfX-O5vW-KZ8Z-tAFF-RBcKLq

  LV Write Access        read/write

  LV Creation host, time localhost, 2019-03-05 10:32:46 +0900

  LV Status              available

  # open                 1

  LV Size                <4.74 TiB

  Current LE             1242061

  Segments               2

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:2


  --- Logical volume ---

  LV Path                /dev/centos/swap

  LV Name                swap

  VG Name                centos

  LV UUID                uYmqZR-s3FZ-w56s-97cm-eaYn-Vj6Y-SEvcWS

  LV Write Access        read/write

  LV Creation host, time localhost, 2019-03-05 10:32:50 +0900

  LV Status              available

  # open                 2

  LV Size                <31.44 GiB

  Current LE             8048

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:1


  --- Logical volume ---

  LV Path                /dev/centos/root

  LV Name                root

  VG Name                centos

  LV UUID                8PH4I2-Amfo-YuDh-J9h5-Hwhq-jSjZ-MrEUNK

  LV Write Access        read/write

  LV Creation host, time localhost, 2019-03-05 10:32:50 +0900

  LV Status              available

  # open                 1

  LV Size                50.00 GiB

  Current LE             12800

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     256

  Block device           253:0


# pvdisplay

  --- Physical volume ---

  PV Name               /dev/sda2

  VG Name               centos

  PV Size               <464.25 GiB / not usable 3.00 MiB

  Allocatable           yes

  PE Size               4.00 MiB

  Total PE              118847

  Free PE               1

  Allocated PE          118846

  PV UUID               bxRHju-AXnI-7xwe-MEo5-LNWq-A0tw-VngA83


  --- Physical volume ---

  PV Name               /dev/sdb1

  VG Name               centos

  PV Size               4.36 TiB / not usable 2.00 MiB

  Allocatable           yes (but full)

  PE Size               4.00 MiB

  Total PE              1144063

  Free PE               0

  Allocated PE          1144063

  PV UUID               Z2jJnF-h4Uu-T0gF-yKyb-jSat-wPMr-7j2RtC


'프로그램 사용 > LVM' 카테고리의 다른 글

lvm as ssd cache  (0) 2022.02.14
LVM 관리  (0) 2019.03.05
lvm raid  (0) 2019.01.15
LVM - Logical Volumegroup Management  (0) 2009.01.22
Posted by 구차니
프로그램 사용/nginx2019. 3. 5. 10:46

설정이 되어있는걸 보는데...

reverse proxy 용도가 아니라 load balance 용도로 설정을 해둔거였나...


[링크 : https://www.lesstif.com/pages/viewpage.action?pageId=35357063]

[링크 : http://nginx.org/en/docs/http/ngx_http_upstream_module.html]

Posted by 구차니
Linux2019. 3. 4. 15:45

설마 없겠냐 했는데 다행히도 있네


$ tar --list --file=collection.tar

blues

folk

jazz

rock

$ tar --delete --file=collection.tar blues

$ tar --list --file=collection.tar

folk

jazz

rock 

[링크 : https://unix.stackexchange.com/questions/68732/remove-files-from-tar-archive]

[링크 : https://www.gnu.org/software/tar/manual/html_node/delete.html]



+

sparse 파일을 건드렸더니

tar: 다음 헤더로 건너 뜀

tar: 아카이브에서 비헤더 부분을 제거함 

이런 에러가 뜨더니 파일을 망가트려버렸다 -_ㅠ

'Linux' 카테고리의 다른 글

crontab 실행 시간 조절하기  (0) 2019.04.18
디렉토리내 중복 파일 확인하기  (0) 2019.04.18
sparse file 확인하기  (0) 2019.02.25
cron 실행 및 시간 관련 문제  (0) 2019.02.24
linux multi core 압축  (0) 2019.02.22
Posted by 구차니
하드웨어/RAID2019. 3. 4. 14:22

고민고민 하다가 아직도 결정 못함

(6 디스크)

 

 용량

 속도

 RAID 10

 3n

 x3

 RAID 5 + hot spare

 4n

 x1

 RAID 6

 4n

 x1


디스크 숫자로 고민하면 RAID 5 + hot spare(1) 이나 RAID 6나 용량은 같은데 전반적으로 RAID6을 지지하네

[링크 : https://serverfault.com/questions/118181/which-is-better-raid5-1-hotspare-raid6]

    [링크 : https://www.zdnet.com/article/why-raid-6-stops-working-in-2019/]

[링크 : https://superuser.com/questions/212930/should-i-use-raid-5-spare-or-raid-6]


RAID5 -> RAID6로 갈 순 있는데 끈채로 가능한지 켠채로도 되는지 모르겠고

항상 그러하듯 백업은 필수..(저장 공간이 없는데?!?!?)

[링크 : https://www.dell.com/.../dell-poweredge-how-to-change-the-raid-level-of-a-virtual-disk?lang=en]



+

하드 수명도 예측 불가능하고 나갈때가 된 거 같으니

RAID 6으로 가고 예비 디스크 남겨 두는 걸로 일단 결론을...

Posted by 구차니

처음에는 1300장..

줄여서 1100장

아내님의 지원으로 800장 후...


근데 인간적으로 11만 5천 500원이면 무료 배송해야지 않아!!?


후.. 1300장에서 825장으로 인간승리!

와... 무료 배송이 아니라니 ㅠㅠ


+

4시에 확인했는데 벌써 포장 ㄷㄷ

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

똥개 피똥.. 토..  (0) 2019.04.13
심리 상담 다녀옴  (0) 2019.03.16
설 연휴 정산...  (2) 2019.02.06
으으 피곤..  (0) 2019.02.02
dustfeel - 미세먼지 측정소 상황  (0) 2019.01.29
Posted by 구차니

전기 덜 먹어서 좋네

그냥 동영상 가벼운거 보는데


신규 시스템(i5-2500/z67 extreme3 gen3/4GB*4) - 40W

이전 시스템(i5-2500/몰랑 까먹음/4GB*2/GTX650) - 90W


그래픽 카드 달고 할만한 게임도 없고 못하고 있으니

전기 덜 먹는 걸로라도 셋팅을 해놔야지 머..

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

2760p 득템 준비?!  (2) 2019.03.25
노트북 지름신 -_ㅠ  (2) 2019.03.22
i5-2500 + z68 ext3 gen3 + 모니터 설정  (0) 2019.03.02
서피스 펜 배터리 도착 + 교체!  (4) 2018.12.13
서피스 펜 배터리 교체 + 구매  (2) 2018.12.12
Posted by 구차니