서버 설정 (CentOS7 + Node.js + Mysql + Nginx)
13302 단어 vps
시작
Vultr 관리 화면에서 새 서버를 추가합니다.
* Vultr은 무엇입니까, 사람은 여기에서 부디
관리 화면의 password로 서버에 들어간다.
서버 설정
# ユーザー追加、パスワード設定
$ useradd hoge_user
$ passwd hoge_user
# sudoの設定
$ usermod -G wheel hoge_user
$ visudo
wheel 곳에 코멘트 아웃되어 있으므로, 아래와 같이 유효하게 한다.
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
일단 설정되면 일반 사용자로 다시 로그인합니다.
# sudo試してみる、問題無くできたらおk
$ sudo ls
다음에 ssh 주위를 해 간다. 먼저 열쇠를 놓아두기로 한다. ssh 키를 만들기 때문에 일단 서버에서 나와 로컬로 키를 만든다.
$ cd ~
$ mkdir .ssh
$ cd ~/.ssh
# 4096bitのid_rsaという名前のkeyを作る(秘密鍵:id_rsa, 公開鍵:id_rsa.pubが作成される)
$ ssh-keygen -f id_rsa -t rsa -b 4096
# 公開鍵をサーバー側に送る
$ scp ~/.ssh/id_rsa.pub hoge_user@IPアドレス:~/
hoge_user로 서버쪽으로 들어가기
# hoge_userのままでやる
$ cd /home/hoge_user
$ mkdir .ssh
$ chmod 700 .ssh
$ cat id_rsa.pub > .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ rm -f id_rsa.pub
이것으로 일단 키 지정으로 ssh 로그인 할 수 있게 될 것.
$ ssh -i ~/.ssh/id_rsa hoge_user@IPアドレス
한층 더 ssh의 설정을 해 간다. (ssh 포트 변경, 루트 로그인 금지, 비밀번호 로그인 금지)
앞에, 사쿠토firewall계의 설정을 해 간다.
다음에 firewall 대응해 간다. 대략 명령 확인. 기동하지 않았으면 기동시켜 둔다.
# status
$ systemctl status firewalld
# start
$ systemctl start firewalld
# stop
$ systemctl stop firewalld
# portsとかservicesとかを確認
$ firewall-cmd --list-all
ssh로 열 수 있는 포트를 써 둔다.
/usr/lib/firewalld/services/ssh.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="12345"/>
</service>
# 反映
$ systemctl reload firewalld.service
이번 이용하는 http(80), https(443), smtp(25), smtps(587)도 여기에서 맞추어 대응해 둔다.
$ firewall-cmd --add-port=80/tcp --zone=public --permanent
$ firewall-cmd --add-port=443/tcp --zone=public --permanent
$ firewall-cmd --add-port=25/tcp --zone=public --permanent
$ firewall-cmd --add-port=587/tcp --zone=public --permanent
$ firewall-cmd --add-service=http --zone=public --permanent
$ firewall-cmd --add-service=https --zone=public --permanent
$ firewall-cmd --add-service=smtp --zone=public --permanent
$ firewall-cmd --add-service=smtps --zone=public --permanent
$ firewall-cmd --reload
자, 여기서 ssh로 돌아와 대응 해 나간다. (ssh 포트 변경, 루트 로그인 금지, 비밀번호 로그인 금지)
$ vi /etc/ssh/sshd_config
에서 내용을,
#Port 22
→Port 12345
#PermitRootLogin yes
→PermitRootLogin no
PasswordAuthentication yes
→PasswordAuthentication no
설정하면 반영한다.
$ systemctl restart sshd.service
여기까지, 로컬로부터 hoge_user로 키 로그인만으로 로그인할 수 있게 되어 있을 것.
$ ssh -p 12345 -i ~/.ssh/id_rsa hoge_user@IPアドレス
(일단 포트·키 지정했다)즐겁게하기 위해 로컬로 설정을 작성하십시오.
$ vim ~/.ssh/config
~/.ssh/config
Host hogepiyo
HostName IPアドレス
Port 12345
User hoge_user
IdentityFile ~/.ssh/id_rsa
이렇게 하면 $ssh hoge_user@hogepiyo로 로그인할 수 있다.
Node.js 설정
nvm으로 node 넣는다.
$ sudo curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
$ export NVM_DIR="$HOME/.nvm"
$ [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
$ [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
$ nvm -v
$ nvm install stable
$ node -v
$ npm -v
$ nvm ls
이것으로 Node도 들어갔다!
덤, mysql 넣기
먼저, MariaDB가 기본적으로 도입되어 있는지 확인해 둡니다.
$ yum list installed | grep maria
mariadb-libs.x86_64 1:5.5.44-2.el7.centos @base
만약 발견되면 삭제해 둡니다.
$ sudo yum remove mariadb-libs.x86_64
htps : //에서 v. mysql. 코 m / 도 w 응 아 ds / 레포 / 유 m / 링크 대상에서 다운로드 대상 "No thanks, just start my download."의 링크 대상을 복사합니다.
# インストール
$ yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm(上記でコピーしたリンク)
$ yum install mysql mysql-devel mysql-server mysql-utilities
# 確認
$ mysql --version
# 起動
$ systemctl enable mysqld.service
$ systemctl start mysqld.service
참고:
- htps : // 이 m / prg조차 k / ms / 7c77d4b14d0 a fbf84f5c
- htp : // v로 에 p. 네 t/전과 s7-mysql
mysql_secure_installation 커멘드를 이용하면, 초기 root 패스워드 변경등 실시할 수 있어 편리.
$ mysql_secure_installation
초기 비밀번호는
grep password /var/log/mysqld.log
에서 확인.# ユーザー追加
mysql -u root -- rootでログイン
create user {user名}@localhost identified by {パスワード} -- ユーザー作成
-- test_dbの全権限をtestユーザーに追加
grant all on test_db.* to test@localhost identified by {パスワード};
-- 作成したユーザーでログイン
mysql -u test -p
-- db確認。 権限を追加したDBを確認できる。
show databases
nginx 넣기
$ yum install nginx
無いので、レポ作って入れる
리포지토리를 추가하기 때문에 nginx.repo 파일을 만듭니다.
$ sudo vi /etc/yum.repos.d/nginx.repo
nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
nginxをインストール
$ sudo yum install nginx
バージョンの確認
$ nginx -v
自動起動設定
$ sudo systemctl enable nginx
起動
$ sudo systemctl start nginx
액세스하면 nginx 페이지가 표시됩니다.
시작한 간단한 익스프레스 앱을 표시합니다.
$ express testApp -e ejs
$ vi /etc/nginx/conf.d/testapp.conf
/etc/nginx/conf.d/testapp.conf
upstream testApp {
server 127.0.0.1:3000;
}
server {
listen 80;
# アクセスするIPアドレスか、ドメイン名
server_name hogehoge.com;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://testApp/;
}
}
이제 testApp을 시작하고 hogehoge.com에서 볼 수 있다면 OK
*꽤 간이판입니다만, 부족한 설정등 있으면, 꼭 추기·코멘트 주세요 mm
Reference
이 문제에 관하여(서버 설정 (CentOS7 + Node.js + Mysql + Nginx)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mazeltov7/items/92d4a742ad1d39af36c8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)