mysql을 이렇게 써본적이 없어서 모르겠는데..

pk를 자동증가로 설정하면 pk 라서 일단 중복을 체크하는 듯.

정상적이긴 한데.. 자동 증가면 그냥 값을 무시하는게 편리하지 않았을까..


[링크 : https://thinking-jmini.tistory.com/10]

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

sqlite primary key  (0) 2019.03.12
sqlite dateime  (0) 2018.11.27
sqlite3 도움말  (0) 2017.04.02
라즈베리 sqlite 버전  (0) 2017.04.02
sqlite 브라우저 / 윈도우용  (0) 2017.03.23
sqlite  (0) 2013.07.19
Posted by 구차니

댓글을 달아 주세요

당연하지만.. 얘도 db인지라 인코딩 언어를 설정해주어야 한다..

아무생각없이 그냥 initdb 하면 en_us로 설정되는 망할 centos ㅠㅠ


[링크 : http://linux.systemv.pe.kr/postgresql-과-문자셋/]

[링크 : https://www.postgresql.org/docs/9.5/app-initdb.html]

[링크 : https://www.postgresql.org/docs/9.3/multibyte.html]


+

이런 에러 발생 -_-

[링크 : https://stackoverflow.com/.../strange-postgresql-value-too-long-for-type-character-varying500

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

postgresql encoding / collate  (0) 2019.03.08
postgresql 설치(centos)  (0) 2019.03.08
postgreSQL centos 패키지  (0) 2019.02.01
postgreSQL 명령어 정리  (0) 2019.02.01
psql - postgreSQL CLI client  (0) 2019.02.01
pgadmin - postgreSQL client  (0) 2019.02.01
Posted by 구차니

댓글을 달아 주세요

설치

postgresql 은 client

postgresql-server 는 server

# yum install postgresql  postgresql-server 


db 초기화

# service postgresql initdb

(그냥 centos7 에서 이렇게 하니 Encoding이 SQL_ASCII로 Collate가 C로 된다.. 아놔..)

+

$ su -l postgres -c "initdb -E UTF8 --locale=ko_KR.UTF-8 --locale=en_US.utf8"



설정 확인

# chkconfig postgresql on 


서비스 시작

# systemctl start postgresql 

[링크 : https://wiki.postgresql.org/wiki/YUM_Installation]

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


사용자 생성 (암호 없이)

# sudo -i -u postgres

# psql

postgres=# create user [계정아이디] with password '';

postgres=# create database [데이터베이스 이름];

postgres=# \q

# exit

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

[링크 : http://database.sarang.net/database/postgres/tutorial/lecture/x58.htm]


암호 바꾸기

postgres=# ALTER USER postgres WITH PASSWORD ''; 


[링크 : https://stackoverflow.com/questions/5421807/set-blank-password-for-postgresql-user]


접속되지 않을 경우

connect to PostgreSQL server: FATAL: no pg_hba.conf entry for host

# vim /var/lib/pgsql/data/pg_hba.conf

host all all      ::1/128      trust

host all postgres 127.0.0.1/32 trust 


# vim /var/lib/pgsql/data/pg_hba.conf 

listen_addresses = '*'

[링크 : https://dba.stackexchange.com/.../connect-to-postgresql-server-fatal-no-pg-hba-conf-entry-for-host]

[링크 : https://sysops.tistory.com/8]

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

postgresql encoding / collate  (0) 2019.03.08
postgresql 설치(centos)  (0) 2019.03.08
postgreSQL centos 패키지  (0) 2019.02.01
postgreSQL 명령어 정리  (0) 2019.02.01
psql - postgreSQL CLI client  (0) 2019.02.01
pgadmin - postgreSQL client  (0) 2019.02.01
Posted by 구차니

댓글을 달아 주세요

클래식

상단에 툴바 항상 나오고 그 바로 아래에 수정할 영역이 나옴


인라인

그냥 일반 문장 같은데


클릭하면 편집 가능하도록 변경됨


벌룬

인라인과 유사한데 드래그로 선택해야 툴바가 풍선으로 뜸


벌룬블록

선택영역에 따라 문단과 블록에 따라 서로 다른 툴바가 뜸


디커플러

툴바와 편집창을 분리해서 쓸 수 있다.

(문단별로 편집창을 띄우되 가장 위에 고정하는 식으로 운영 가능, 스크롤 할때 상단에 툴바 고정용으로 쓸 듯)


[링크 : https://ckeditor.com/docs/ckeditor5/latest/builds/guides/quick-start.html]

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

ckeditor 모드별 모양  (0) 2019.03.08
ckeditor file upload with node.js  (0) 2019.03.07
ckeditor / fckeditor?  (0) 2014.07.16
ckeditor 사용하기  (0) 2013.02.22
fckeditor plugin for squirrelMail  (0) 2011.06.14
Posted by 구차니

댓글을 달아 주세요

-

[링크 : 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 모드별 모양  (0) 2019.03.08
ckeditor file upload with node.js  (0) 2019.03.07
ckeditor / fckeditor?  (0) 2014.07.16
ckeditor 사용하기  (0) 2013.02.22
fckeditor plugin for squirrelMail  (0) 2011.06.14
Posted by 구차니

댓글을 달아 주세요

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

알고보니.. 망할 포트를 잘못 설정해서 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 rever proxy with virtual host(+ subdomain)  (0) 2019.03.07
nginx load balance  (0) 2019.03.05
nginx reverse proxy  (2) 2018.10.30
nginx fastcgi 캐싱  (0) 2015.09.10
Posted by 구차니

댓글을 달아 주세요

프로그램 사용/LVM2019.03.05 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 관리  (0) 2019.03.05
애증의.. LVM? centos 기본값 설치에서 변형했더니...  (0) 2019.03.05
lvm raid  (0) 2019.01.15
LVM - Logical Volumegroup Management  (0) 2009.01.22
Posted by 구차니

댓글을 달아 주세요

프로그램 사용/LVM2019.03.05 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 관리  (0) 2019.03.05
애증의.. LVM? centos 기본값 설치에서 변형했더니...  (0) 2019.03.05
lvm raid  (0) 2019.01.15
LVM - Logical Volumegroup Management  (0) 2009.01.22
Posted by 구차니

댓글을 달아 주세요

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

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


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

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

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

nginx rever proxy with virtual host(+ subdomain)  (0) 2019.03.07
nginx load balance  (0) 2019.03.05
nginx reverse proxy  (2) 2018.10.30
nginx fastcgi 캐싱  (0) 2015.09.10
Posted by 구차니

댓글을 달아 주세요

결과 코드들에 대해서 좀 더 자세히 나와있는데..

그래도 HIER_DIRECT를 어떻게 할 방법이 없나..


6.7 Squid result codes

The TCP_ codes refer to requests on the HTTP port (usually 3128). The UDP_ codes refer to requests on the ICP port (usually 3130). If ICP logging was disabled using the log_icp_queries option, no ICP replies will be logged.


The following result codes were taken from a Squid-2, compare with the log_tags struct in src/access_log.c:


TCP_HIT

A valid copy of the requested object was in the cache.


TCP_MISS

The requested object was not in the cache.


TCP_IMS_HIT

The client issued an IMS request for an object which was in the cache and fresh.


TCP_SWAPFAIL_MISS

The object was believed to be in the cache, but could not be accessed.


TCP_NEGATIVE_HIT

Request for a negatively cached object, e.g. "404 not found", for which the cache believes to know that it is inaccessible. Also refer to the explainations for negative_ttl in your squid.conf file.


TCP_MEM_HIT

A valid copy of the requested object was in the cache and it was in memory, thus avoiding disk accesses.


TCP_DENIED

Access was denied for this request.


TCP_OFFLINE_HIT

The requested object was retrieved from the cache during offline mode. The offline mode never validates any object, see offline_mode in squid.conf file. 

[링크 : http://www.comfsm.fm/computing/squid/FAQ-6.html#ss6.7]


6.10 Hierarchy Codes

The following hierarchy codes are used with Squid-2:


NONE

For TCP HIT, TCP failures, cachemgr requests and all UDP requests, there is no hierarchy information.


DIRECT

The object was fetched from the origin server. 

[링크 : http://www.comfsm.fm/computing/squid/FAQ-6.html#ss6.10]

Posted by 구차니

댓글을 달아 주세요