> 백엔드 개발 > PHP 튜토리얼 > PHP 환경을 설정하는 방법은 무엇입니까? PHP 환경설정(상세설명)

PHP 환경을 설정하는 방법은 무엇입니까? PHP 환경설정(상세설명)

青灯夜游
풀어 주다: 2023-04-04 10:24:02
원래의
66885명이 탐색했습니다.

PHP 환경 구축 방법: 먼저 "yum install wget" 명령을 통해 wget을 설치한 다음 Nginx를 설치하고 gcc 환경을 컴파일 및 의존한 다음 MySQL을 컴파일 및 설치하고 마지막으로 PHP를 컴파일 및 설치합니다. 설치 명령을 통해 "PHP-FPM"을 시작하면 충분합니다.

PHP 환경을 설정하는 방법은 무엇입니까? PHP 환경설정(상세설명)

PHP 환경을 설정하는 방법은 무엇입니까? 이 튜토리얼에서 제공하는 내용은 PHP 환경을 설정하는 방법입니다. PHP 환경 설정(자세한 설명)

CentOS6.* 시스템에서 LNMP 환경 또는 LAMP 환경을 구축하는 데 도움이 될 수 있는 기사의 단계를 따르세요. 이러한 환경은 서버의 온라인 운영 환경으로 사용될 수 있습니다.

관련 추천:

● 《2019년 추천 최고의 PHP 환경 구축 도구 6가지

● 《php 환경 구성 튜토리얼: PHP 개발 환경 통합 설치 및 독립 설치 동영상 튜토리얼

● 《mac php 환경 구축 튜토리얼: mac PHP 개발 환경 구축 및 구성 튜토리얼

PHP 개발자로서 우리는 PHP 개발 환경 구축 방법을 알아야 합니다. 현재 주류 PHP 개발 환경 조합은 LAMP와 LNMP입니다. 이 기사에서는 PHP 설정 방법을 소개합니다. 개발 환경 CentOS에서 LNMP 개발 환경을 구축합니다.

디렉토리:

1: 준비

2: Nginx 설치

3: MySQL 설치

4: PHP 설치

5: 7 /etc/rc를 로컬로 부팅합니다. 실행되지 않는 문제

1: 준비

1. wget 설치

wget은 HTTP 및 HTTPS, FTP를 지원하는 인터넷에서 파일을 자동으로 다운로드하는 무료 도구입니다. 다운로드를 위한 가장 일반적인 세 ​​가지 TCP/IP 프로토콜이며 HTTP 프록시를 사용할 수 있습니다. wget 是一个从网络上自动下载文件的自由工具,支持通过 HTTP、HTTPS、FTP 三个最常见的TCP/IP协议下载,并可以可以使用HTTP代理。

sudo yum install wget
로그인 후 복사

2.安装net-tools

最小化安装CentOS7时如果无法使用ifconfig命令,则需要安装net-tools,如果是安装的CentOS6版本则无需安装

sudo yum install net-tools
로그인 후 복사

3.更新yum源

yum -y update
로그인 후 복사

4.安装vim

sudo yum install vim
로그인 후 복사

5.配置显示行号

vim ~/.vimrc
set nu #输入 set nu 后退出保存
로그인 후 복사

二:安装Nginx

1.安装依赖

(1) 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装gcc-c++。

(2) PCRE是一个Perl库,中文"Perl兼容的正则表达式库"。安装Nginx是为了使Nginx支持具备URI重写功能的rewrite模块,如果不安装pcre库,则Nginx无法使用rewrite模块功能,Nginx的Rewrite模块功能几乎是企业应用必须。

(3) zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

(4) OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。 nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要安装 OpenSSL 库 。

yum -y install gcc gcc-c++ zlib zlib-devel
yum -y install pcre pcre-devel openssl openssl-devel
로그인 후 복사

说明: yum安装方式安装的pcre版本比较低,不过基本不影响使用

检查基础依赖包

上面的依赖安装完成后可以通过如下命令检查各个依赖安装是否成功

rpm -qa pcre pcre-devel
rpm -qa zlib zlib-devel
rpm -qa openssl openssl-devel
rpm -qa pcre pcre-devel
로그인 후 복사

2.编译安装Nginx

# 这里我们把安装包都放到了/usr/src目录下,便于统一管理
cd /usr/src  #切换到软件包目录
wget https://nginx.org/download/nginx-1.14.1.tar.gz   #下载nginx源码包
useradd nginx -s /sbin/nologin -M   #创建nginx用户用于管理nginx程序
tar zxvf nginx-1.14.1.tar.gz  #解压nginx源码包

cd nginx-1.14.1

#预编译
./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/local/nginx-1.14.1 \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_stub_status_module

make && make install #编译 和 安装

cd /usr/local
ln -s nginx-1.14.1 nginx  #创建nginx的软链接
로그인 후 복사

安装说明

--prefix=PATH    #设置安装路劲
--user=USER      #进程用户权限
--group=GROUP    #进程用户组权限
--with-http_stub_status_module   #激活状态信息
--with-http_ssl_module  #激活ssl功能
로그인 후 복사

3.配置环境变量

vim /etc/profile
export PATH=/usr/local/nginx/sbin:$PATH
source /etc/profile
로그인 후 복사

4.配置开机自启

vim /etc/rc.local
# Nginx开机自启
/usr/local/nginx/sbin/nginx &
로그인 후 복사

5.Nginx常用命令

/usr/local/nginx/sbin/nginx -t # 检查Nginx配置语法是否有误
/usr/local/nginx/sbin/nginx  #启动
/usr/local/nginx/sbin/nginx -s stop  #立即停止
/usr/local/nginx/sbin/nginx -s quit  #平滑停止
/usr/local/nginx/sbin/nginx -s reload #重载配置
/usr/local/nginx/sbin/nginx -s reopen #重开日志
로그인 후 복사

服务启动检查

可以通过该命令查询80端口被谁占用

lsof -i :80
로그인 후 복사

如果无法识别该命令,需要安装lsof

sudo yum install lsof
로그인 후 복사

2. net-tools 설치

CentOS7을 최소로 설치할 때 ifconfig 명령을 사용할 수 없다면, CentOS6 버전을 설치한다면 net-tools를 설치해야 합니다. 설치할 필요가 없습니다

CentOS6:
service iptables stop   临时关闭
chkconfig --level 2345 iptables off 永久关闭

CentOS7:
systemctl stop firewalld.service  #令关闭防火墙
systemctl disable firewalld.service  #关闭防火墙开机自启动
通过浏览器输入IP测试是否成功
로그인 후 복사
3. yum 소스를 업데이트하세요
sudo yum install gcc gcc-c++ cmake ncurses-devel
로그인 후 복사

4. vim

sudo yum install perl perl-devel autoconf
로그인 후 복사

5을 설치하세요. 표시 줄 번호를 구성하세요

useradd -s /sbin/nologin -M mysql  # 添加MySQL用户
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.42.tar.gz

tar zxvf mysql-5.6.42.tar.gz

cd mysql-5.6.42

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.42 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.42/tmp/mysql.sock \
-DMYSQL_DATADIR=/usr/local/mysql-5.6.42/data \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_INNODB_MEMCACHED=1 \
-DWITH_DEBUG=OFF \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_PROFILING=ON \
-DMYSQL_MAINTAINER_MODE=OFF \
-DMYSQL_TCP_PORT=3306

make && make install
로그인 후 복사

2 : Nginx 설치

1. 설치 종속성

(1) nginx를 설치하려면 먼저 공식 홈페이지에서 다운로드한 소스 코드를 컴파일해야 합니다. 컴파일은 gcc 환경에 따라 다릅니다. .gcc 환경이 없으면 gcc-c++를 설치해야 합니다. (2) PCRE는 Perl 라이브러리, 중국어 "Perl 호환 정규식 라이브러리"입니다. Nginx를 설치하는 목적은 Nginx가 URI 재작성 기능을 통해 재작성 모듈을 지원하도록 하는 것입니다. pcre 라이브러리가 설치되어 있지 않으면 Nginx는 재작성 모듈 기능을 사용할 수 없습니다. 기업용 애플리케이션에는 Nginx의 재작성 모듈 기능이 거의 필요합니다.

(3) zlib 라이브러리는 다양한 압축 및 압축 해제 방법을 제공합니다. nginx는 zlib를 사용하여 http 패키지의 내용을 gzip으로 압축하므로 zlib 라이브러리를 Centos에 설치해야 합니다. (4) OpenSSL은 주요 암호화 알고리즘, 일반적으로 사용되는 키 및 인증서 캡슐화 관리 기능, SSL 프로토콜을 포함하는 강력한 SSL(Secure Socket Layer) 암호화 라이브러리이며, 테스트 또는 기타 목적으로 다양한 애플리케이션을 제공합니다. . nginx는 http 프로토콜을 지원할 뿐만 아니라 https(즉, SSL 프로토콜을 통해 http를 전송하는 것)도 지원하므로 OpenSSL 라이브러리를 설치해야 합니다.

cd /usr/local/mysql-5.6.42
chown mysql.mysql /usr/local/mysql-5.6.42/data
mkdir tmp
chown mysql.mysql /usr/local/mysql-5.6.42/tmp
rm -f /etc/my.cnf
cp support-files/my-default.cnf /etc/my.cnf
scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql
로그인 후 복사

참고: yum 설치 방법으로 설치한 pcre 버전은 상대적으로 낮으나 기본적으로 사용에는 영향을 미치지 않습니다.

기본 종속성 패키지를 확인하세요🎜🎜🎜위 종속성 설치가 완료된 후 다음을 사용할 수 있습니다. 다음 명령을 사용하여 각 종속성 설치가 성공했는지 확인하세요🎜
cd /usr/local
ln -s mysql-5.6.42 mysql
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
로그인 후 복사
🎜🎜 2. Nginx 컴파일 및 설치🎜🎜
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
로그인 후 복사
🎜🎜설치 지침🎜🎜
service mysqld start
mysql -u root -p #第一次登陆不需要密码,回车即可
set password for root@localhost = password('root');  #修改密码
로그인 후 복사
로그인 후 복사

🎜3. 환경 변수 구성🎜🎜

sudo yum install gcc gcc-c++ zip unzip libxml2 libxml2-devel curl-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel gd-devel bzip2 bzip2-devel
로그인 후 복사
로그인 후 복사
< p id="부팅 시 자동 시작 구성">🎜4. 부팅 자체 시작 구성🎜🎜
cd /usr/src
wget http://hk1.php.net/get/php-7.2.12.tar.gz/from/this/mirror -O php-7.2.12.tar.gz

tar zxvf php-7.2.12.tar.gz
cd  php-7.2.12
./configure \
--prefix=/usr/local/php-7.2.12 \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-zlib \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock \
--with-gd \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-openssl \
--with-curl \
--enable-bcmath \
--enable-mbstring \
--enable-static \
--enable-zip \
--enable-sockets \
--enable-xml


make && make install
로그인 후 복사
로그인 후 복사

🎜5.Nginx 일반 명령🎜🎜

cd /usr/local

ln -s php-7.2.12 php
cp  /usr/src/php-7.2.12/php.ini-development /usr/local/php-7.2.12/lib/php.ini
 
vim /usr/local/php/lib/php.ini
date.timezone = PRC  # 修改时区(大约在932行)

expose_php = Off  # 避免PHP信息暴露在http头中(大约369行)
 
display_errors = Off# 生产环境设置为off,开发环境就设置为On,便于调试
 说明:设置了dispaly_errors为off后,需要在php-fpm.conf中开启错误日志记录路径error_log = log/php-fpm.log
 
cd php 
cp etc/php-fpm.conf.default etc/php-fpm.conf

cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf

# 管理PHP-FPM
vim /usr/local/php/etc/php-fpm.conf
pid = run/php-fpm.pid
error_log = log/php-fpm.log #24行这个在php.ini设置display_errors = Off时启用

向进程发送信号,就可以完成进程管理
停止: kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
平滑停止: kill -QUIT `cat /usr/local/php/var/run/php-fpm.pid`
重启:kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
重新打开日志:kill -USR1 `cat /usr/local/php/var/run/php-fpm.pid`

如果在编译PHP时指定了--with-mysql=mysqlnd和--with-pdo-mysql=mysqlnd的参数,那么在生产中可能会遇到socket连接问题,解决办法是在php.ini里加入命令: pdo_mysql.default_socket=/usr/local/mysql/tmp/mysql.sock

最好是在编译PHP的时候,指定mysql.socket的位置:
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock
로그인 후 복사
로그인 후 복사
🎜🎜서비스 시작 확인🎜🎜🎜 이 명령을 사용하면 포트 80🎜
vim /etc/profile
export PATH=/usr/local/php/bin:$PATH
source /etc/profile
로그인 후 복사
로그인 후 복사
🎜을(를) 인식할 수 없는 경우 lsof🎜
vim /etc/rc.local
# PHP-FPM自动启动
/usr/local/php/sbin/php-fpm &amp;
로그인 후 복사
로그인 후 복사
🎜🎜6을 설치해야 합니다. 방화벽을 꺼주세요🎜🎜
cd /usr/local/php
sbin/php-fpm # 启动PHP-FPM
ps -e | grep php-fpm
로그인 후 복사
로그인 후 복사
🎜🎜🎜Three. : MySQL 설치🎜🎜🎜🎜🎜1. 종속성 설치🎜🎜🎜(1)cmake는 새 버전의 MySQL 컴파일 도구입니다.🎜
#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    use epoll;
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    
    #隐藏Nginx软件版本号
    server_tokens off;
    
    #激活tcp_nodelay功能,提高I/O性能
    tcp_nodelay on;

    # 设置读取客户端请求头数据的超时时间。此处的数值为15,其单位是秒,为经验参考值
    client_header_timeout 15;

    # 设置读取客户端请求体的超时时间
    client_body_timeout 15;

    # 指定响应客户端的超时时间
    send_timeout 25;

    # 上传文件大小限制
    client_max_body_size 8m;
    
    #压缩配置
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text/css text/xml text/plain application/javascript;
    gzip_vary on;
    #include extra/gzip.config;

    #log_format  main  &#39;$remote_addr - $remote_user [$time_local] "$request" &#39;
    #                  &#39;$status $body_bytes_sent "$http_referer" &#39;
    #                  &#39;"$http_user_agent" "$http_x_forwarded_for"&#39;;

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    server {
         listen       80;
         server_name  www.nginx.com;
         root html/blog/public;
         #access_log  logs/host.access.log  main;

         location / {
            index  index.php index.html index.htm;
            if (!-e $request_filename) {
                rewrite ^/(.*)$ /index.php/ last;
            }
         }

         #error_page  404              /404.html;

         # redirect server error pages to the static page /50x.html
         #
         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
            root   html;
         }

         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
         #
         location ~ \.php {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
         }
    }
}
로그인 후 복사
🎜시스템이 CentOS7인 경우 다음 종속성도 설치해야 합니다🎜
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In constrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run &#39;chmod +x /etc/rc.d/rc.local&#39; to ensure
# that this script will be executed during boot.
로그인 후 복사
로그인 후 복사
🎜🎜2. MySQL 컴파일 및 설치🎜🎜
#这个文件是为了兼容性的问题而添加的。
#
#强烈建议创建自己的systemd服务或udev规则来在开机时运行脚本而不是使用这个文件。
#
#与以前的版本引导时的并行执行相比较,这个脚本将不会在其他所有的服务后执行。
#
#请记住,你必须执行“chmod +x /etc/rc.d/rc.local”来确保确保这个脚本在引导时执行。
로그인 후 복사
로그인 후 복사
🎜🎜3. MySQL 구성🎜🎜
chmod +x /etc/rc.d/rc.local
로그인 후 복사
로그인 후 복사
🎜🎜4. 환경 변수 구성🎜🎜rrreee🎜🎜6. 🎜🎜
service mysqld start
mysql -u root -p #第一次登陆不需要密码,回车即可
set password for root@localhost = password(&#39;root&#39;);  #修改密码
로그인 후 복사
로그인 후 복사

四:安装PHP

1.安装依赖

sudo yum install gcc gcc-c++ zip unzip libxml2 libxml2-devel curl-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel  zlib zlib-devel glibc glibc-devel glib2 glib2-devel gd-devel bzip2 bzip2-devel
로그인 후 복사
로그인 후 복사

2.编译安装PHP

cd /usr/src
wget http://hk1.php.net/get/php-7.2.12.tar.gz/from/this/mirror -O php-7.2.12.tar.gz

tar zxvf php-7.2.12.tar.gz
cd  php-7.2.12
./configure \
--prefix=/usr/local/php-7.2.12 \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-zlib \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock \
--with-gd \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-openssl \
--with-curl \
--enable-bcmath \
--enable-mbstring \
--enable-static \
--enable-zip \
--enable-sockets \
--enable-xml


make && make install
로그인 후 복사
로그인 후 복사

3.PHP配置

cd /usr/local

ln -s php-7.2.12 php
cp  /usr/src/php-7.2.12/php.ini-development /usr/local/php-7.2.12/lib/php.ini
 
vim /usr/local/php/lib/php.ini
date.timezone = PRC  # 修改时区(大约在932行)

expose_php = Off  # 避免PHP信息暴露在http头中(大约369行)
 
display_errors = Off# 生产环境设置为off,开发环境就设置为On,便于调试
 说明:设置了dispaly_errors为off后,需要在php-fpm.conf中开启错误日志记录路径error_log = log/php-fpm.log
 
cd php 
cp etc/php-fpm.conf.default etc/php-fpm.conf

cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf

# 管理PHP-FPM
vim /usr/local/php/etc/php-fpm.conf
pid = run/php-fpm.pid
error_log = log/php-fpm.log #24行这个在php.ini设置display_errors = Off时启用

向进程发送信号,就可以完成进程管理
停止: kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
平滑停止: kill -QUIT `cat /usr/local/php/var/run/php-fpm.pid`
重启:kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
重新打开日志:kill -USR1 `cat /usr/local/php/var/run/php-fpm.pid`

如果在编译PHP时指定了--with-mysql=mysqlnd和--with-pdo-mysql=mysqlnd的参数,那么在生产中可能会遇到socket连接问题,解决办法是在php.ini里加入命令: pdo_mysql.default_socket=/usr/local/mysql/tmp/mysql.sock

最好是在编译PHP的时候,指定mysql.socket的位置:
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock
로그인 후 복사
로그인 후 복사

4.配置环境变量

vim /etc/profile
export PATH=/usr/local/php/bin:$PATH
source /etc/profile
로그인 후 복사
로그인 후 복사

5.配置开机自启

vim /etc/rc.local
# PHP-FPM自动启动
/usr/local/php/sbin/php-fpm &amp;
로그인 후 복사
로그인 후 복사

6.启动PHP-FPM

cd /usr/local/php
sbin/php-fpm # 启动PHP-FPM
ps -e | grep php-fpm
로그인 후 복사
로그인 후 복사

7.配置Nginx和PHP关联

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    use epoll;
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    
    #隐藏Nginx软件版本号
    server_tokens off;
    
    #激活tcp_nodelay功能,提高I/O性能
    tcp_nodelay on;

    # 设置读取客户端请求头数据的超时时间。此处的数值为15,其单位是秒,为经验参考值
    client_header_timeout 15;

    # 设置读取客户端请求体的超时时间
    client_body_timeout 15;

    # 指定响应客户端的超时时间
    send_timeout 25;

    # 上传文件大小限制
    client_max_body_size 8m;
    
    #压缩配置
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types text/css text/xml text/plain application/javascript;
    gzip_vary on;
    #include extra/gzip.config;

    #log_format  main  &#39;$remote_addr - $remote_user [$time_local] "$request" &#39;
    #                  &#39;$status $body_bytes_sent "$http_referer" &#39;
    #                  &#39;"$http_user_agent" "$http_x_forwarded_for"&#39;;

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    server {
         listen       80;
         server_name  www.nginx.com;
         root html/blog/public;
         #access_log  logs/host.access.log  main;

         location / {
            index  index.php index.html index.htm;
            if (!-e $request_filename) {
                rewrite ^/(.*)$ /index.php/$1 last;
            }
         }

         #error_page  404              /404.html;

         # redirect server error pages to the static page /50x.html
         #
         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
            root   html;
         }

         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
         #
         location ~ \.php {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info ^(.+\.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
         }
    }
}
로그인 후 복사

五:CentOS7开机/etc/rc.local不执行问题

CentOS7中,默认开机不再执行/etc/rc.local,查询/etc/rc.local里的内容可以发现如下描述:

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In constrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run &#39;chmod +x /etc/rc.d/rc.local&#39; to ensure
# that this script will be executed during boot.
로그인 후 복사
로그인 후 복사

翻译过来就是

#这个文件是为了兼容性的问题而添加的。
#
#强烈建议创建自己的systemd服务或udev规则来在开机时运行脚本而不是使用这个文件。
#
#与以前的版本引导时的并行执行相比较,这个脚本将不会在其他所有的服务后执行。
#
#请记住,你必须执行“chmod +x /etc/rc.d/rc.local”来确保确保这个脚本在引导时执行。
로그인 후 복사
로그인 후 복사

所以要解决开机不执行问题,只需要执行下面的命令然后重启服务器。

chmod +x /etc/rc.d/rc.local
로그인 후 복사
로그인 후 복사

完成上面这些步骤,一个LNMP环境就配好啦,重启服务器即可。

위 내용은 PHP 환경을 설정하는 방법은 무엇입니까? PHP 환경설정(상세설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿