-
Angular 7 i18n SSR
Angular 7 i18n with SSR ng cli를 설치한다. npm install -g @angular/cli new project 생성 ng new i18n-sample --routing cd i18n-sample npm i ng serve -o //화면 잘 나오는지 확인 이건 ssr적용이 안된것이다. 기본 프로젝트가 실행됬다. 깃으로 파일 변경여부를 잘 확인 해가면서 보자. 새 컴포넌트 추가 ng g c users # ng g c users --module app vi app-routing.module.ts import { UsersComponent } from './users/users.component'; const routes: Routes = [ ... { path: "users", component:...
-
Docker를 사용하여 php를 운영해보자.
Docker를 사용하여 php를 운영해보자. nginx 기본 올리기 vi docker-compose.yml version: '3' services: web: image: nginx:latest ports: - "80:80" docker-compose up 웹브라우저로 localhost를 확인하자. nginx 설정 mkdir code vi site.conf server { index index.html; server_name AAA.com; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /code; } vi docker-compose.yml version: '3' services: web: image: nginx:latest ports: - "80:80" volumes: - ./code:/code - ./site.conf:/etc/nginx/conf.d/default.conf vi code/index.html hello 이제 다 되었다. docker-compose up 확인해보자. php-fpm을 추가해보자. php-fpm은 포트 9000번을 사용하여 대기한다. vi...
-
Gitlab CI를 사용하여 도커 이미지를 커밋마다 빌드해보자.
Gitlab CI를 사용하여 커밋할때마다 도커 이미지를 빌드해보자. centos 7 설치 도커 설치 gitlab-runner 커밋이 되면 도커 러너를 실행시키는데 이건 따로 설치후 gitlab 에 등록을 해주면 gitlab이 커밋시 명령어를 보내서 빌드를 해주는 프로그램인다. docker in docker를 사용할수도 있고 그냥 shell로도 빌드할수 있다. docker in docker는 빌드후 도커 이미지를 지워버리기 때문에 매번 빌드시마다 로컬 캐시를 사용하지 않고 서버에서 이미지를 받아온다. 오래 걸리고 별로 안좋은듯 싶다. docker in docker는 빌드에는 사용하지 말라는 이야기도 있다. 아무튼 나는 gitlab runner...
-
Docker Private Registry + SSL + Lets Encrypt + Username + Password
docker private registry centos 7 설치 도커 설치 폴더 생성 mkdir -p /data/docker/auth cd /data/docker lets encrypt ssl 발급받기 sudo bash sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo yum update sudo yum install epel-release git -y sudo yum install python-pip -y sudo yum install python-virtualenv -y sudo pip install requests urllib3 pyOpenSSL --force --upgrade cd /tmp git clone https://github.com/certbot/certbot.git cd certbot ./certbot-auto certonly \ --manual \ --preferred-challenges=dns \ --email...
-
KeepAlived
keepalived 서버 두대중 하나가 죽으면 다른 하나가 받아서 서비스를 한다. 기본 준비 centos 7으로 vm두개 설치했습니다. vagrant up vagrant plugin install vagrant-vbguest vagrant reload vagrant ssh 두개의 노드 모두다 sudo bash yum install -y keepalived systemctl enable keepalived 두개 노드 모두 mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.old vi /etc/keepalived/keepalived.conf 두 서버 같은 설정으로 넣는다. vrrp_instance VI_1 { state MASTER interface eth1 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.200 }...
-
kubernetes 기본
kubernetes와 spinnaker를 설치 사용 kubernetes 설치 1개의 마스터 서버 (centos 7) 2개의 노드 서버 (centos 7) 1개의 미니오 스토리지 서버,registry (centos 7) 아이피는 다음과 같습니다. IP Name 192.168.0.195 master 192.168.0.192 node192 192.168.0.193 node193 192.168.0.194 node194(minio storage, docker registry) 테스트랩 준비 centos7을 4대의 서버에 설치한다. kubernetes를 설치하기전 해야할 일이 있습니다. https://kubernetes.io/docs/setup/independent/install-kubeadm/#before-you-begin 문서를 참고하시면되는데요 진행해보겠습니다. 저는 root로 로그인하여 진행하였습니다. before you begin kubernetes # 기본 프로그램 설치 yum update && yum -y install kernel-headers kernel-devel yum install...
-
internal centos yum repo, dell repo , docker repo
내부네트워크에서 사용 하기 위해 repo를 mirror 한다. 서버 준비 도커로 nginx를 사용함 get-docker.sh mkdir -p /data/mirror/docker cd /data/mirror/docker curl -fsSL https://get.docker.com -o get-docker.sh yum repo mirror mkdir -p /data/mirror/docker cd /data/mirror/docker wget --mirror --convert-links --no-parent https://download.docker.com/linux/centos/7/x86_64/ mv download.docker.com/linux . wget --no-parent https://download.docker.com/linux/centos/docker-ce.repo wget --no-parent https://download.docker.com/linux/centos/gpg modify docker-ce.repo file cd /data/mirror/docker/linux/centos/7/ vi docker-ce.repo docker-ce.repo file contents cat docker-ce.repo [docker-ce-stable] name=Docker CE Stable - $basearch baseurl=http://yum/docker/linux/centos/7/$basearch/stable enabled=1 gpgcheck=1 gpgkey=http://yum/docker/linux/centos/7/gpg docker-compose mkdir -p /data/mirror/docker wget -p https://github.com/docker/compose/releases/download/1.22.0/docker-compose-Linux-x86_64 -O...
-
Ansible - 01
ansible - 01 ansible 에서 특정 노드만 빼기 OR (group1:group2) NOT !group2 wildcard web*.aaa.com regex (~web[0-9]+) ~: 처음 시작 AND (grout1:&group2) sample ansible-playbook --limit '!node01,!node02,!node03,!node04' kubernetes.yml ansible-playbook --limit 'all:!bad_host' playbook.yml ansible-playbook --limit 'all:!group1,!node100' kubernetes.yml ansible-playbook --limit 'hoost1:host2' yourPlaybook.yml ansible-playbook --limit 'webservers:&prod:!python3' yourPlaybook.yml setup module ansible node02 -m setup gathering fact 결과를 다 보여준다. ansible all -m setup --tree ./fact 전체 인벤토리를 대상으로 setup을 실행해서 디렉토리에 저장해준다.
-
Open API(NSwag) and Angular 6
dotnet core 2.1 에서 Open API(NSwag) 사용하기 install nuget package Package Manager : Install-Package NSwag.AspNetCore CLI : dotnet add package NSwag.AspNetCore NSwag.MSBuild도 나중에 필요할수도 있으니 미리 설치해둔다. wire up on startup 두곳에 추가해 준다. public void ConfigureServices(IServiceCollection services) { services.AddSwagger(); ... public void Configure(IApplicationBuilder app, IHostingEnvironment env) { ... app.UseMvc(); //app.UseSwaggerReDocWithApiExplorer(settings => Redoc이라는 화면을 보여준다. https://github.com/Rebilly/ReDoc app.UseSwaggerUiWithApiExplorer(settings => { settings.GeneratorSettings.DefaultPropertyNameHandling = PropertyNameHandling.CamelCase; }); } API Controller 모든 controller에서 다음을 해준다. 리턴 가능한 모든 케이스에 대해...
-
devops - 01
Devops Study 01 devops 란 개발(Development)과 운영(Operations)의 합성어 목표 고객의 요구사항을 빠른시간에 서비스에 적용한다. devops tool chain Use Case - 사용자 요구사항 코드(프로그래밍) - 코드 개발 및 검토, 버전 관리 도구, 코드 병합. CI/CD (continuous integration and continuous delivery) 빌드 - 지속적 통합(CI) 도구, 빌드 상태. 테스트 - 테스트 및 결과가 성능을 결정. 배포 - 애플리케이션 디플로이 이전 단계.(CD) 구성 - 인프라스트럭처 구성 및 관리, IaC(Infrastructure as Code) 도구 모니터링/운영 - 애플리케이션 성능 모니터링, 최종...