240507

WorldWannyWeb.·2024년 5월 7일
0

한화시스템

목록 보기
5/14
post-thumbnail

시작하기전

192.168.152.10 <-> 10.10.10.200 <-> 10.10.10.100
클라이언트 웹/앱 서버

내컴퓨터 | 넥슨(가상머신)|가상머신
클라이언트|서버(윈도우)|리눅스
메이플클라|게임서버|DB서버
|자바| Mysql 5.7

putty 프로그램

서버를 왜 여러개로 거둘까?

수직분할 - 역할별로 서버를 여러대 구성 / ex) 게임서버, DB서버
수평분할 - 같은 역할을 하는 서버를 여러대 구성 / ex) 게임서버를 여러대 두기 한대에 사양이 한계까 있기 때문에


메이플스토리만들기

1. 가상머신 새로 준비하기

ip주소까지 설정해놓은 프로그램을 준비해주셔서 그걸로 새로만들기

  1. DB 서버 준비
    1) 가상 머신 준비
    - 쌤이 올려놓은 파일 다운로드 후 실행하면 새로운 vmware생성
    2) 가상 머신 IP 설정
    - 가상머신을 가상공유기의 ip주소와 연결시켜야하므로 virtual network editor에 들어가서 가상공유기의 ip주소와 서브넷마스크, 게이트웨이 주소를 확인


    192.168.152 까지는 주소가 같아야하고 그위의 번호 1,2 는 공유기가 기본으로 쓰고있는 주소이므로 그 뒤 숫자로 적어준다.

vi /etc/sysconfig/network-scripts/ifcfg-ens160 편집기로 들어가 수정한다.

![](https://velog.velcdn.com/images/choijw1116/post/0442f11c-b28d-445e-9209-e733437fe2ea/image.png)
>
BOOTPROTO=static 수동으로 설정
ONBOOT=yes
IPADDR=192.168.152.10 뒤 10부분은 내가 임의로 설정
NETMASK=255.255.255.0
GATEWAY=192.168.152.2
DNS1=8.8.8.8

편집
etc누르고 i나a
저장하고 나가기 :wq
저장안하고 나가기 :q!

그다음

Restart Guest 로 네트워크 재시작
다시 로그인 후
yum install net-tools를 설치
setenforce 0 로컬 방화벽 끄기
systemctl stop firewalld 네트워크 방화벽 끄기
netstat -anlp 실행중포트확인
ping 8.8.8.8 소통이 잘되는지 확인

3) Mysql 5.7 버전
yum install -y wget
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar
tar xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar
yum install -y mysql-community-*

4) mysql 실행
systemctl restart mysqld

5) 서버 실행 확인
yum install -y net-tools
netstat -anlp | grep 3306
systemctl status mysqld

sys

6) mysql 초기 설정
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl restart mysqld
mysql
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'qwer1234';

7) 원격 접속 설정
SELECT user, host FROM mysql.user;
create user 'root'@'%' identified by 'qwer1234';
exit

8) 방화벽 설정
systemctl stop firewalld
setenforce 0

9) DB 권한 부여
systemctl stop mysqld
systemctl unset-environment MYSQLD_OPTS
systemctl start mysqld
mysql -u root -p
CREATE DATABASE black;
GRANT ALL PRIVILEGES ON . TO 'root'@'%';
flush privileges;


B

10) DB 복구
Black Server.7z 압축 해제
윈도우 컴퓨터에서 mysql workbench 실행
+ 버튼 -> Connection Name, Hostname, Username 입력 -> 접속 -> Server 메뉴 -> Data Import
-> Import fron Self-Contained File 체크 -> SQL 파일 경로 지정 -> Start Import

  1. 게임 서버 준비
    1) Black Server.7z 압축 해제
    2) Black Server\Dist\1123.jar 파일 삭제
    3) 1123.jar 다운 받아서 Black Server\Dist\ 에 옮기기
    4) 메모장 찾아서 우클릭 관리자 권한으로 실행
    5) 메모장에서 파일 열어서 수정
    파일 -> 열기 -> C:\Windows\System32\drivers\etc\hosts(메모장에서 텍스트파일말고 모든파일로 변경 후 파일찾기)

    	파일 안에 있는 내용 전부 삭제
    	[DB 서버 IP주소]  localhoss

    192.168.152.10

    	저장

    6) JAVA 설치
    openjdk-11.0.2_windows-x64_bin.zip 다운 및 압축 해제

    	해제하면 있는 jdk-11.0.2 폴더 자체를 C:\에 옮기기

    7) 환경 변수 설정
    내 컴퓨터 우클릭 -> 속성 -> 고급 시스템 설정 -> 고급 탭 -> 환경 변수 -> 아래에서 path 변수 클릭 후 편집 클릭
    -> 새로 만들기 -> C:\jdk-11.0.2\bin 입력 후 OK OK OK OK

    	cmd를 새로 시작 -> java 입력

8) 게임 서버 실행
게임 서버 압춘 푼 곳에서 launch.bat 실행


  1. 게임 클라이언트 실행
    Black Client.7z 압축 해제

    Localhost.7z 비밀번호 qwe123!

    Black Client.7z 해제한 폴더에 Localhost.7z 해제했을 때 나오는 파일 3개 붙여넣기

    방화벽(실시간 검사) 끄기

vmx
vmdx
ip설치까지만 해놓은 프로그램을 하나 만들어놓고 그 프로그램을 돌리면 가상머신을 새로 만들 수 있다.

메이플 클라이언트 게임서버 DB서버
Setting.ini파일에
192.168.0.100

공유기의 만번포트로 들어오면 사설ip를 보내주겠다 라고 포트포워딩을 해놔야 집에가서도 저 ip주소로 접속이 가능하다.

현재 강의실에서 가능한 이유는 같은 공유기의 사설ip를 사용하고 있기 때문에 가능

환경변수

  • 무언가 변경할 수 있도록 미리 저장해놓는것. 리눅스나 윈도우 개발환경에서 환경변수 설정은 나중에 추가로 배울것.

VMware에서 편하게 쓸 수 있는 클라이언트 프로그램 PuTTY실행하기

putty.exe 실행

Host Name 부분에 내가 변경한 IP주소 입력해주기.

여기서 IP주소가 가장 중요하다. IP주소를 vi 편집기에서 설정해준 후, network재실행해준다. 그 후에 ip addr로 Ip주소 변경이 잘 되었으면 해당 IP주소를 Host Name에 입력해준다.
- port번호는 바꿔주지않아도 되는 이유는 각자 다른Ip주소에 각각 다른 문이나 다름없기 때문에 port번호는 같아도 상관이 없다. Ip주소가 가장 중요!!

Alert 창이 뜨면 yes를 눌러준다.


해당 사용자 이름과 비밀번호로 로그인해주고 사용하면 끝!

가상머신 두대 중 첫번째 가상머신

1. DB서버

리눅스 컴퓨터
DB 서버 프로그램 설치
yum install mariadb-server

DB 서버 프로그램 실행
	systemctl start mariadb

방화벽 끄기	-> 방화벽을 끄는 이유는 프로그램을 바이러스로 인식하는 경우도 있으므로 방화벽을 꺼준다.
	setenforce 0
	systemctl stop firewalld
    ![](https://velog.velcdn.com/images/choijw1116/post/7a5b99ff-f70c-4d46-a665-770dad5803a7/image.png)

클라이언트 프로그램
	mysql
		사용자 생성
		CREATE USER '[이니셜]'@'%' IDENTIFIED BY 'qwer1234';
	![](https://velog.velcdn.com/images/choijw1116/post/854b7042-9176-49f8-84ab-6321d305b8f9/image.png)

		DB 생성	-> 제발 ; 빼먹지말쟈
		CREATE DATABASE [DB 이름];	-> web
        ![](https://velog.velcdn.com/images/choijw1116/post/7ce2a30e-6199-4ef9-b322-5fe5739aa9da/image.png)

        
		사용자한테 DB 관리 권한 부여
		GRANT ALL PRIVILEGES ON [DB 이름].* TO '[이니셜]'@'%';
        ![](https://velog.velcdn.com/images/choijw1116/post/08084687-20ad-48f5-8326-148c4f602c51/image.png)


		클라이언트 프로그램 종료
		exit
        ![](https://velog.velcdn.com/images/choijw1116/post/3ec5afc9-25e3-4f89-8e9a-bfa3530387ed/image.png)

윈도우 컴퓨터
DB 클라이언트 프로그램 설치
자료실에 workbench 설치

워크벤치에서 서버로 접속
	connection name : 아무거나
	Hostname : 리눅스 컴퓨터 IP
	Port : mariadb-server의 포트번호 = 3306
	Username : [이니셜]


	database -> reverse engineer -> erd 작성
	database -> forward engineer -> sql문 생성(db 이름 변경, INDEX라인, CONSTRAINT 라인 삭제)

가상머신 두대 중 두번쨰서버 -> 웹서버

2. 웹 서버 준비

yum install net-tools을 가장 먼저해주기 -

1) nginx 설치
yum install -y nginx

2) php 설치
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

dnf module reset php

dnf install -y php php-mysqlnd php-fpm php-opcache php-curl php-json php-gd php-xml php-mbstring php-zip -y



마지막에 Complete! 나오면 성공!

3) php 설정
vi /etc/php-fpm.d/www.conf 로 편집기안에 들어가서 아래 4개수정하기

24 user = nginx
26 group = nginx

48 ;listen.owner = nginx
49 ;listen.group = nginx

수정 후 esc 누르고 :wq 로 저장후 나가기

systemctl restart php-fpm

4) wordpress 설치
yum install -y wget

wget https://ko.wordpress.org/latest-ko_KR.tar.gz

tar zxvf latest-ko_KR.tar.gz -> 좌라락 겁나 나옴
mv wordpress /var/www/html/

5) nginx 서버 설정
vi /etc/nginx/conf.d/test.conf

server {
listen 80;
server_name test [웹 서버 IP주소];
root /var/www/html/wordpress;
index index.php index.html index.htm;

set client body size to 100 MB

client_max_body_size 100M;
location / {
try_files uri $uri/ /index.php?args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ .php$ {
try_files uri =404; fastcgi_pass unix:/var/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_rootfastcgi_script_name;
include fastcgi_params;
}
}

위의 내용에서 ip주소만 변경해서 넣어주고 esc -> :wq로 저장 후 나가기

6) 폴더 권한 설정
chown -R nginx:nginx /var/www/html/wordpress

7) nginx 서버 재실행
systemctl restart nginx

8) 접속 확인
systemctl stop firewalld
setenforce 0

8) 워드 프레스 설정
웹브라우저에 http://ip주소를 입력하면


위 사진 처럼 화면이 뜬다.

웹 페이지에서 각 값 입력 후 클릭

 
profile
와니완의 월드와이드와니웹🐥

0개의 댓글

관련 채용 정보