RPM 패키지 수정, 재 포장
1. 관련 도구 설치, 주로 rpmbuild 등 관련 도구 설치
https://sourceforge.net/projects/rpmrebuild/files/rpmrebuild/2.12-1/ :
wget https://jaist.dl.sourceforge.net/project/rpmrebuild/rpmrebuild/2.14/rpmrebuild-2.14.tar.gz
tar -zxvf rpmrebuild-2.14.tar.gz
make && make install
yum install -y rpm-build rpmdevtools
1. nginx rpm 패키지 다운로드
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
3. rpm 패키지 의 spec 파일 을 추출 합 니 다. 구체 적 인 명령 은:
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
./rpmrebuild.sh -s /root/rpmbuild/SPECS/nginx.spec nginx-release-centos-7-0.el7.ngx.noarch
4. 원본 RPM 패키지 의 압축 해제, 구체 적 인 명령 은 다음 과 같 습 니 다:
cd /root/rpmbuild/BUILDROOT/
mkdir -p nginx-1.16.2-1.el7_4.ngx.x86_64 -- rpm
cd nginx-1.16.2-1.el7_4.ngx.x86_64
cp -rf xx/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm .
rpm2cpio *.rpm | cpio -idv -- RPM , RPM
5. 필요 에 따라 rpm 압축 해제 파일 을 변경 하고 해당 하 는 spec 파일 을 수정 하 며 수정 이 완료 되면 /root / rpmbuild / SPECS / 명령 실행:
rpmbuild -ba nginx.spec
6. 대응 하 는 RPM 디 렉 터 리 에서 다시 생 성 된 RPM 패 키 지 를 볼 수 있 습 니 다. 예 를 들 어 / root / rpmbuild / RPMS / x8664/
7. 대응 하 는 rpm 패 키 지 를 centos 7 장치 에 설치 한 다음 에 service nginx start 를 실행 하면 시작 할 수 있 습 니 다. 제 가 시작 하 는 과정 에서 문제 가 발생 하여 nginx 를 시작 할 수 없습니다. 구체 적 인 로 그 는 다음 과 같 습 니 다.
[root@localhost ~]# systemctl status nginx.service
● nginx.service - nginx - high performance est proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 2019-12-13 17:42:03 CST; 7s ago
Docs: http://nginx.org/en/docs/
Process: 5838 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
12 13 17:42:03 localhost.localdomain systemd[1]: Starting nginx - high performance est proxy server...
12 13 17:42:03 localhost.localdomain nginx[5838]: nginx: [emerg] bind() to 0.0.0.0:5900 failed (13: Permission denied)
12 13 17:42:03 localhost.localdomain systemd[1]: nginx.service: control process exited, code=exited status=1
12 13 17:42:03 localhost.localdomain systemd[1]: Failed to start nginx - high performance est proxy server.
12 13 17:42:03 localhost.localdomain systemd[1]: Unit nginx.service entered failed state.
12 13 17:42:03 localhost.localdomain systemd[1]: nginx.service failed.
이 문 제 는 주로 UDP 5900 을 수사 하고 systemctl 은 selinux 를 가 며 selinux 는 UDP 5900 을 제한 하여 nginx 가 권한 이 없 으 면 selinux 를 닫 으 면 됩 니 다. 구체 적 인 명령 은:
selinux
setenforce 0
selinux
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=enforcing SELINUX=disabled
reboot
이로써 nginx 는 정상적으로 시작 할 수 있 습 니 다. 또한 systemctl list - unit - files 를 통 해 모든 시작 항목 을 확인 하고 시작 여 부 를 확인 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.