VPS 에 HEXO 블 로 그 를 설치 하 다
첫 번 째 설치 nginx
=== nginx rpm ===
[root@localhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
=== yum nginx ===
[root@localhost ~]# yum install -y nginx
=== nginx ===
[root@localhost ~]# systemctl start nginx.service
=== ===
[root@localhost ~]# systemctl enable nginx.service
=== ===
[root@localhost ~]# firewall-cmd --add-service=http --permanent
=== ===
[root@localhost ~]# firewall-cmd --reload
이 때 브 라 우 저 를 통 해 서버 IP 에 접근 하면 nginx 환영 정보 가 나 올 것 입 니 다.기본 사이트 루트 디 렉 터 리
/usr/share/nginx/html
, 기본 사이트 프로필 /etc/nginx/conf.d/default.conf
은 기본 사이트 로 HEXO 배 치 된 디 렉 터 리 를 직접 만 들 려 면 두 번 째 단 계 를 건 너 뛸 수 있 습 니 다.두 번 째 단계 nginx 사이트 설정
포트 가 8008 이 고 루트 디 렉 터 리 가
/var/www/hexo
인 웹 사 이 트 를 사용자 정의 합 니 다.=== SELinux http ===
[root@localhost ~]# semanage port -l | grep http
...
http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000
...
=== SElinux http , 8007 ===
[root@localhost ~]# semanage port -a -t http_port_t -p tcp 8007
=== Firewalld http ===
[root@localhost ~]# firewall-cmd --list-all
...
services: ssh dhcpv6-client http
...
=== 8008 http ===
[root@localhost ~]# firewall-cmd --service=http --add-port=8008/tcp --permanent
=== ===
[root@localhost ~]# firewall-cmd --reload
=== firewall http
[root@localhost ~]# firewall-cmd --info-service=http
...
http
ports: 80/tcp 8008/tcp
...
=== ===
[root@localhost ~]# mkdir /var/www
[root@localhost ~]# cd /var/www
[root@localhost www]# mkdir hexo
[root@localhost www]# cd hexo
[root@localhost hexo]# nano index.html
...
hello world!
...
=== ===
[root@localhost hexo]# ls -al
...
drwxr-xr-x. 7 root root 4096 Mar 8 16:04 .
drwxr-xr-x. 3 root root 4096 Mar 8 15:15 ..
-rw-r--r--. 1 root root 6557 Mar 8 16:04 index.html
...
# . hexo
# drwxr-xr-x 755
# -rw-r--r-- 644
# 755 644
=== ===
[root@localhost hexo]# chmod -R 755 /var/www/hexo
[root@localhost hexo]# chmod -R 644 /var/www/hexo/index.html
=== hexo.conf ===
[root@localhost ~]# nano /etc/nginx/conf.d/hexo.conf
...
server {
listen 8008;
server_name localhost;
location / {
root /var/www/hexo;
index index.html index.htm;
}
}
...
=== nginx ===
[root@localhost ~]# nginx -s reload
이 경우 브 라 우 저가 8008 포트 를 통 해 서버 에 접근 하면 403 오류 가 발생 할 수 있 습 니 다.
=== SELinux Permissive ( , ) ===
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
이 럴 때 브 라 우 저 는 Hello World 가 나타 나 면 8008 포트 기 를 통 해 서버 에 접근 합 니 다!SELinux 로 인해 사이트 에 403 오류 가 발생 한 것 이 확실 하 다 는 것 을 증명 합 니 다. 다음은 저희 가 해결 하 겠 습 니 다.
=== SELinux ===
[root@localhost ~]# yum install selinux-policy-doc
=== SELinux ===
[root@localhost ~]# grep nginx /var/log/audit/audit.log | audit2allow -m nginx
==== ===
......
module nginx 1.0;
require {
type httpd_t;
type var_t;
class file { getattr open read };
}
#============= httpd_t ==============
#!!!! WARNING: 'var_t' is a base type.
#!!!! The file '/var/www/hexo/index.html' is mislabeled on your system.
#!!!! Fix with $ restorecon -R -v /var/www/hexo/index.html
allow httpd_t var_t:file { getattr open read };
......
==== ===
# /var/www/hexo/index.html http_t
# /var/www/hexo http_t
[root@localhost ~]# restorecon -R -v /var/www/hexo
=== SELinux ===
[root@localhost ~]# setenforce 1
[root@localhost ~]# getenforce
Enforcing
이 럴 때 브 라 우 저 는 Hello World 가 나타 나 면 8008 포트 기 를 통 해 서버 에 접근 합 니 다!SELinux 의 nginx 권한 문 제 를 해결 했다 는 뜻 입 니 다.
3 단계 git 서버 설치
=== git ===
[root@localhost ~]# yum install git
=== git ===
[root@localhost ~]# adduser git
=== ~/.ssh/ authorized_keys ===
[root@localhost ~]# cd /home/git/
[root@localhost ~]# mkdir .ssh
[root@localhost ~]# touch /home/git/.ssh/authorized_keys
=== ===
[root@localhost ~]# chmod 700 /home/git/.ssh
[root@localhost ~]# chmod 600 /home/git/.ssh/authorized_keys
[root@localhost ~]# chown -R git:git /home/git/.ssh
=== authorized_keys ===
[root@localhost ~]# nano /home/git/.ssh/authorized_keys
=== git ===
# , /etc/ssh/sshd_config ,
1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys
# git , git shell
[root@localhost ~]# nano /etc/passwd
# git , /bin/bash /usr/bin/git-shell
기타 면 밀 설정 은 '신규 구 매 VPS SSH 안전 조치 메모' 3 시 를 참고 하면 된다.
네 번 째 단계 서버 창 고 를 만 들 고 git 자동 스 크 립 트 를 설정 합 니 다.
=== git ===
[root@localhost ~]# mkdir /home/git/repo
[root@localhost ~]# cd /home/git/repo
=== ===
[root@localhost repo]# git init --bare hexo.git
=== ===
[root@localhost repo]# cd hexo.git/hooks
[root@localhost hooks] nano post-receive
# post-receive :
......
#!/bin/sh
git --work-tree=/var/www/hexo --git-dir=/home/git/repo/hexo.git checkout -f
......
# , /var/www/hexo ,
# /home/git/repo/hexo.git ,
# push /home/git/repo/hexo.git , /var/www/hexo
=== ===
[root@localhost hooks]# chmod +x post-receive
=== hexo.git git : ===
[root@localhost hooks]# chown -R git:git /home/git/repo/hexo.git
=== git : ===
[root@localhost hooks]# chown -R git:git /var/www/hexo
5 단계 로 컬 설치 및 HEXO 설정
$ hexo init
$ cd
$ npm install
~/.ssh/config
파일, Windows 는 /.ssh/config
에서 내용 이 모두 같 습 니 다.Host alias
Hostname
User git
Port
IdentityFile ~/.ssh/
_config.yaml
의 배치 옵션 을 편집 합 니 다. repo 하 나 는 이전 단계 에 설 치 된 별명 alias
이 고 그 다음은 서버 의 git 버 전 라 이브 러 리 입 니 다.deploy:
type: git
repo: alias:/home/git/repo/hexo.git
branch: master
$ hexo g -d
이때 브 라 우 저가 8008 포트 기 를 통 해 서버 에 접근 하면 Hexo 사이트 기본 홈 페이지 가 나타 납 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.