'NFT' 카테고리의 다른 글

NFT 클레이튼 개발 환경 구축  (0) 2021.04.22
블로그 이미지

iesay

,

개발 환경 :  ubuntu 18, php7.4, mysql 8.0

 

1. Mysql 설치

apt-get update
apt-get -y install mysql-server mysql-client
mysql -u root -p

 

create database HDVP;

create user 'HDVP'@'%' identified by '&HDVP@1234@HDVP';

grant all on HDVP.* to 'HDVP'@'%';


flush privileges;

use HDVP;

create table users (
         idx int not null auto_increment primary key,
         id char(20),
         name varchar(100),
         pw char(20)
         );

insert into users(id, name, pw) values('admin', '관리자', 'toor');
mysql -u HDVP -p


/etc/mysql/mysql.conf.d

vi mysqld.conf


bind-address            = 0.0.0.0
x   = 0.0.0.0

 

service mysql start

 

2. nginx + php 설치


apt-get -y install nginx

service nginx start

apt-get -y install php7.4-fpm

cd /etc/nginx/
vi nginx.conf

 

cd /etc/nginx/sites-available/
vi default


# 아래와 같이 수정

server {
    listen 80;
    listen [::]:80;
    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

server {
    listen 80;
    listen [::]:80;
} 

 

 


cd /etc/php/7.4/fpm/
vi php.ini        40% 즘

service php7.4-fpm reload
service nginx reload

cd /var/www/html/

vi info.php
<?php
phpinfo();
?>

 


http://ip주소/info.php

 

apt-cache search php7.4


apt-get -y install php7.4-mysql php7.4-curl php7.4-gd php7.4-intl php-pear php-imagick php7.4-imap
     php7.4-mcrypt php-memcache  php7.4-pspell php7.4-recode php7.4-sqlite3 php7.4-tidy
     php7.4-xmlrpc php7.4-xsl php7.4-mbstring php-gettext


apt-get -y install php-apcu

service php7.4-fpm reload

 

 index.php

 
<?php
$conn = mysqli_connect(
  'localhost',
  'HDVP',
  '&HDVP@1234@HDVP',
  'HDVP');
$sql = "SELECT * FROM users WHERE id = 'admin'";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result);
echo $row['id'];
echo '<h1>'.$row['name'].'</h1>';
?>

 

 

 

 

 

 

 


 

'' 카테고리의 다른 글

DB튜닝 테이블에 데이터가 많은 경우  (0) 2021.01.31
라디오 버튼 제이쿼리  (0) 2020.08.24
GS인증(보안성)  (7) 2020.04.13
express + morgan  (0) 2019.04.01
promise  (0) 2019.03.28
블로그 이미지

iesay

,

 

 

현재 저희는 eth 노드를 GO-language 로 구현한 go eth 를 줄인 geth 라는 이더리움 노드를 사용하고 있습니다. 설치 방법은 비트코인계열과 마찬 가지로 제공 하는 방법을 그대로 따라합니다

 

Ex) https://github.com/ethereum/go-ethereum/blob/master/README.md

Git 주소 https://github.com/ethereum/go-ethereum

 

 

- 노드 설치

apt-get update && sudo apt-get upgrade -y
apt-get install make
apt-get install build-essential


wget https://dl.google.com/go/go1.16.linux-amd64.tar.gz
tar -xzf go1.16.linux-amd64.tar.gz
mv go /usr/local
echo 'GOPATH="/usr/local/go"' >> ~/.profile
echo 'PATH="$PATH:$GOPATH/bin"' >> ~/.profile
source .profile

 

1. 해당 코인 github 접속, releases 탭으로 이동, 받고자 하는 버전의 source code (tar.gz) 링크 주소 복사, 설치하고자 하는 서버에서 다운로드 합니다.

Ex) https://github.com/ethereum/go-ethereum/archive/v1.9.20.tar.gz
2.
압축 해제 후, 해당 디렉토리로 이동합니다.
ex) tar -xvzf v1.9.20.tar.gz

3. make geth

4. 빌드가 끝난 후 /build/bin 에 있는 geth 실행 파일을 /usr/local/bin 으로 복사합니다.

Ex) cp geth /usr/local/bin

5. screen –S ETH 명령어로 screen 을 생성 후 아래와 같은 명령어로 geth 를 실행시켜 줍니다.

geth --rpc --rpcaddr 0.0.0.0 --port 30303 console

6.     이후 ctrl + a, d 커맨드를 통해 스크린을 유지한 채 빠져 나옵니다.
(
스크린 재 접속시 screen –r ETH)

 

cd 자기 자신 경로

#vi .screenrc

defscrollback 5000
termcapinfo xterm* ti@:te@
startup_message off
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n*%t%{-}%+w %= %c ${USER}@%H"
bindkey -k k1 select 0
bindkey -k k2 select 1
bindkey -k k3 select 2

 

 

 

 

- 노드 업그레이드

1. 노드 설치에 있는 1~3 까지 진행 합니다.

 2. screen –r ETH screen 접근 후 exit 명령어를 통해 노드를을 멈추고 ctrl+a , d 를 통해 screen을 유지한 채 나옵니다.

3.  설치 방법 4번을 진행 후 screen –r ETH 통해 접근 후 아래의 명령어로 노드를 실행 시켜 줍니다.

geth --rpc --rpcaddr 0.0.0.0 --port 30303  --datadir /home/eth/data console

 

 

 

- 노드 운영방법

시작 : screen 세션 생성 후

geth --rpc --rpcaddr 0.0.0.0 --port 30303 --datadir /home/eth/data console

종료 : screen –r ETH 을 통해 세션에 접근 후 콘솔 창에서 exit 명령어로 종료

kill로 종료할 시 블록이 깨질 수 있으므로 exit을 이용합니다.

아래 명령어는 콘솔창 기준입니다.

블록 높이 확인 : eth.blockNumber

Peer 확인 : admin.peers

Node 정보 : admin.nodeInfo

이외에 명령어는 아래에서 확인할 수 있습니다.

 


 https://ethereum.stackexchange.com/questions/28703/full-list-of-geth-terminal-commands

추가적으로 ethetc가 블록을 못 받아올 경우 노드를 재시작 해주면 됩니다.

블로그 이미지

iesay

,