Ubuntu에서 Nginx 서버용 LEMP 환경을 설치하는 방법
준비
ubuntu 16.04 서버 버전 설치
1단계: nginx 서버 설치
1 nginx는 인터넷 방문자에게 웹 페이지를 표시하는 데 사용되는 리소스 최적화된 고급 웹 서버 프로그램입니다. nginx 서버 설치부터 시작하고 apt 명령을 사용하여 우분투의 공식 소프트웨어 저장소에서 nginx 프로그램을 얻습니다.
$ sudo apt-get install nginx
ubuntu 16.04에 nginx
2를 설치한 다음 netstat 및 systemctl 명령을 입력하여 nginx 프로세스가 시작되어 포트 80에 바인딩되었는지 확인합니다.
$ netstat -tlpn
nginx 네트워크 포트 연결 확인
$ sudo systemctl status nginx.service
nginx 서비스 상태 확인
서비스 프로세스가 시작된 것을 확인하면 브라우저를 열고 http 프로토콜을 사용하여 서버 IP 주소에 액세스할 수 있습니다. 또는 도메인 이름을 사용하려면 nginx의 기본 웹페이지를 탐색하세요.
http://ip-address
2단계: nginx http/2.0 프로토콜 활성화
3. http/2.0 프로토콜 지원은 기본적으로 최신 ubuntu 16.04 릴리스의 nginx 바이너리 파일에 포함되어 있습니다. 웹 페이지의 속도가 크게 향상되었습니다.
이 nginx 프로토콜을 활성화하려면 먼저 nginx에서 제공하는 웹사이트 구성 파일을 찾아 다음 명령을 입력하여 구성 파일을 백업하세요.
$ cd /etc/nginx/sites-available/ $ sudo mv default default.backup
nginx 웹사이트 구성 파일을 백업합니다.
4. 그런 다음 텍스트 편집기를 사용하여 기본 파일을 만들고 다음 내용을 입력합니다.
server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; root /var/www/html; index index.html index.htm index.php; server_name 192.168.1.13; location / { try_files $uri $uri/ =404; } ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; ssl_protocols tlsv1 tlsv1.1 tlsv1.2; ssl_prefer_server_ciphers on; ssl_ciphers eecdh+chacha20:eecdh+aes128:rsa+aes128:eecdh+aes256:rsa+aes256:eecdh+3des:rsa+3des:!md5; ssl_dhparam /etc/nginx/ssl/dhparam.pem; ssl_session_cache shared:ssl:20m; ssl_session_timeout 180m; resolver 8.8.8.8 8.8.4.4; add_header strict-transport-security "max-age=31536000; #includesubdomains" always; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; } } server { listen 80; listen [::]:80; server_name 192.168.1.13; return 301 https://$server_name$request_uri; }
nginx http 2 프로토콜 활성화
위 구성 조각이 적용됩니다. 모든 SSL에 http/2.0을 활성화하려면 수신 명령에 http2 매개변수를 추가하세요.
위의 서버 구성에 추가된 마지막 섹션은 SSL이 아닌 모든 트래픽을 SSL/TLS 기본 호스트로 리디렉션하는 데 사용됩니다. 그런 다음 server_name 옵션을 호스트의 IP 주소 또는 DNS 레코드(바람직하게는 fqdn 이름)로 바꿉니다.
5. 위 단계에 따라 nginx의 기본 구성 파일을 편집한 후 다음 명령을 사용하여 SSL 인증서와 키를 생성하고 확인하세요.
사용자 정의 설정으로 인증서 생성을 완료하세요. 일반 이름은 DNS FQDN 레코드 또는 서버 IP 주소와 일치하도록 설정됩니다.
$ sudo mkdir /etc/nginx/ssl $ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt $ ls /etc/nginx/ssl/
nginx SSL 인증서 및 키 생성
6. 다음 명령을 입력하여 강력한 dh 암호화 알고리즘을 사용합니다. 그러면 이전 구성 파일 ssl_dhparam으로 구성된 파일이 수정됩니다.
$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
diffie-hellman 키 생성
7. diffie-hellman 키가 생성된 후 nginx 구성 파일이 올바른지, nginx 네트워크 서비스 프로그램에서 적용할 수 있는지 확인합니다. 그런 다음 다음 명령을 실행하여 데몬을 다시 시작하고 변경 사항을 관찰합니다.
$ sudo nginx -t $ sudo systemctl restart nginx.service
nginx 구성을 확인하세요
8. nginx가 http/2.0 프로토콜을 사용하는지 테스트하려면 다음 명령을 입력하세요. 프로토콜에 h2가 표시되면 nginx가 http/2.0 프로토콜을 사용하도록 성공적으로 구성되었음을 의미합니다. 모든 최신 브라우저는 기본적으로 이 프로토콜을 지원합니다.
$ openssl s_client -connect localhost:443 -nextprotoneg ''
nginx http 2.0 프로토콜 테스트
3단계: PHP 7 인터프리터 설치
fastcgi 프로세스 관리자의 도움으로 nginx는 PHP 동적 언어 인터프리터를 사용하여 동적 네트워크 콘텐츠를 생성할 수 있습니다. fastcgi는 우분투 공식 저장소에서 php-fpm 바이너리 패키지를 설치하여 얻을 수 있습니다.
9. 서버 콘솔에 다음 명령을 입력하여 php7.0과 확장 패키지를 얻으세요. 이를 통해 php가 nginx 네트워크 서비스 프로세스와 통신할 수 있습니다.
$ sudo apt install php7.0 php7.0-fpm
php 7 및 php-fpm
10을 설치하세요. php7.0 인터프리터가 성공적으로 설치된 후 다음 명령을 입력하여 php7.0-fpm 데몬을 시작하거나 확인하세요.
$ sudo systemctl start php7.0-fpm $ sudo systemctl status php7.0-fpm
开启、验证 php-fpm 服务
11、 当前的 nginx 配置文件已经配置了使用 php fpm 来提供动态内容。
下面给出的这部分服务器配置让 nginx 能够使用 php 解释器,所以不需要对 nginx 配置文件作别的修改。
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; }
下面是的截图是 nginx 默认配置文件的内容。你可能需要对其中的代码进行修改或者取消注释。
启用 php fastcgi
12、 要测试启用了 php-fpm 的 nginx 服务器,用下面的命令创建一个 php 测试配置文件 info.php。接着用 http://ip_or domain/info.php 这个网址来查看配置。
$ sudo su -c 'echo "<?php phpinfo(); ?>" |tee /var/www/html/info.php'
创建 php info 文件
检查 php fastcgi 的信息
检查服务器是否宣告支持 http/2.0 协议,定位到 php 变量区域中的 $_server[‘server_protocol'] 就像下面这张截图一样。
检查 http2.0 协议信息
13、 为了安装其它的 php7.0 模块,使用 apt search php7.0 命令查找 php 的模块然后安装。
如果你想要 安装 wordpress 或者别的 cms,需要安装以下的 php 模块,这些模块迟早有用。
$ sudo apt install php7.0-mcrypt php7.0-mbstring
安装 php 7 模块
14、 要注册这些额外的 php 模块,输入下面的命令重启 php-fpm 守护进程。
$ sudo systemctl restart php7.0-fpm.service
第 4 步:安装 mariadb 数据库
15、 最后,我们需要 mariadb 数据库来存储、管理网站数据,才算完成 lemp 的搭建。
运行下面的命令安装 mariadb 数据库管理系统,重启 php-fpm 服务以便使用 mysql 模块与数据库通信。
$ sudo apt install mariadb-server mariadb-client php7.0-mysql $ sudo systemctl restart php7.0-fpm.service
安装 mariadb
16、 为了安全加固 mariadb,运行来自 ubuntu 软件仓库中的二进制包提供的安全脚本,这会询问你设置一个 root 密码,移除匿名用户,禁用 root 用户远程登录,移除测试数据库。
输入下面的命令运行脚本,并且确认所有的选择。参照下面的截图。
$ sudo mysql_secure_installation
mariadb 的安全安装
17、 配置 mariadb 以便普通用户能够不使用系统的 sudo 权限来访问数据库。用 root 用户权限打开 mysql 命令行界面,运行下面的命令:
$ sudo mysql mariadb> use mysql; mariadb> update user set plugin='‘ where user='root'; mariadb> flush privileges; mariadb> exit
mariadb 的用户权限
最后通过执行以下命令登录到 mariadb 数据库,就可以不需要 root 权限而执行任意数据库内的命令:
$ mysql -u root -p -e 'show databases'
查看 mariadb 数据库
위 내용은 Ubuntu에서 Nginx 서버용 LEMP 환경을 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Tomcat 서버가 외부 네트워크에 액세스하도록 허용하려면 다음을 수행해야 합니다. 외부 연결을 허용하도록 Tomcat 구성 파일을 수정합니다. Tomcat 서버 포트에 대한 액세스를 허용하는 방화벽 규칙을 추가합니다. Tomcat 서버 공용 IP에 대한 도메인 이름을 가리키는 DNS 레코드를 만듭니다. 선택 사항: 역방향 프록시를 사용하여 보안 및 성능을 향상합니다. 선택 사항: 보안 강화를 위해 HTTPS를 설정합니다.

많은 사용자에게 Android TV 박스를 해킹하는 것은 어려운 일로 들립니다. 그러나 개발자 Murray R. Van Luyn은 Broadcom 칩 부족으로 인해 Raspberry Pi에 대한 적절한 대안을 찾아야 하는 과제에 직면했습니다. Armbia와의 협력 노력

"Welcome to nginx!" 오류를 해결하려면 가상 호스트 구성을 확인하고, 가상 호스트를 활성화하고, Nginx를 다시 로드하고, 가상 호스트 구성 파일을 찾을 수 없으면 기본 페이지를 만들고, Nginx를 다시 로드해야 합니다. 그러면 오류 메시지가 나타납니다. 사라지고 웹사이트는 정상적으로 표시됩니다.

HTML 파일을 URL로 변환하려면 다음 단계를 포함하는 웹 서버가 필요합니다. 웹 서버를 얻습니다. 웹 서버를 설정합니다. HTML 파일을 업로드하세요. 도메인 이름을 만듭니다. 요청을 라우팅합니다.

Node.js 프로젝트의 서버 배포 단계: 배포 환경 준비: 서버 액세스 권한 획득, Node.js 설치, Git 저장소 설정. 애플리케이션 빌드: npm run build를 사용하여 배포 가능한 코드와 종속성을 생성합니다. Git 또는 파일 전송 프로토콜을 통해 서버에 코드를 업로드합니다. 종속성 설치: SSH를 서버에 연결하고 npm install을 사용하여 애플리케이션 종속성을 설치합니다. 애플리케이션 시작: node index.js와 같은 명령을 사용하여 애플리케이션을 시작하거나 pm2와 같은 프로세스 관리자를 사용합니다. 역방향 프록시 구성(선택 사항): Nginx 또는 Apache와 같은 역방향 프록시를 사용하여 트래픽을 애플리케이션으로 라우팅합니다.

예, Node.js는 외부에서 액세스할 수 있습니다. 다음 방법을 사용할 수 있습니다. Cloud Functions를 사용하여 함수를 배포하고 공개적으로 액세스할 수 있도록 합니다. Express 프레임워크를 사용하여 경로를 만들고 끝점을 정의합니다. Nginx를 사용하여 Node.js 애플리케이션에 대한 프록시 요청을 역방향으로 수행합니다. Docker 컨테이너를 사용하여 Node.js 애플리케이션을 실행하고 포트 매핑을 통해 노출합니다.

PHP 웹 사이트를 성공적으로 배포하고 유지하려면 다음 단계를 수행해야 합니다. 웹 서버(예: Apache 또는 Nginx) 선택 PHP 설치 데이터베이스 생성 및 PHP 연결 서버에 코드 업로드 도메인 이름 및 DNS 모니터링 웹 사이트 유지 관리 설정 단계에는 PHP 및 웹 서버 업데이트, 웹 사이트 백업, 오류 로그 모니터링 및 콘텐츠 업데이트가 포함됩니다.

Linux 관리자의 중요한 작업은 불법적인 공격이나 액세스로부터 서버를 보호하는 것입니다. 기본적으로 Linux 시스템에는 iptables, UFW(Uncomplicated Firewall), CSF(ConfigServerSecurityFirewall) 등과 같이 잘 구성된 방화벽이 함께 제공되어 다양한 공격을 방지할 수 있습니다. 인터넷에 연결된 모든 컴퓨터는 악의적인 공격의 잠재적인 대상입니다. 서버에 대한 불법 액세스를 완화하는 데 사용할 수 있는 Fail2Ban이라는 도구가 있습니다. Fail2Ban이란 무엇입니까? Fail2Ban[1]은 무차별 공격으로부터 서버를 보호하는 침입 방지 소프트웨어입니다. Python 프로그래밍 언어로 작성되었습니다.
