>  기사  >  PHP 프레임워크  >  램프 환경 구성: CentOS 6.3의 Alibaba Cloud 서버에서 LAMP 환경 구성

램프 환경 구성: CentOS 6.3의 Alibaba Cloud 서버에서 LAMP 환경 구성

不言
不言원래의
2018-07-28 17:18:422509검색

많은 학생들이 LAMP 환경 구성에 익숙하지 않을 수 있으며 LAMP 환경 구성 시 몇 가지 문제에 직면할 수 있습니다. 오늘은 PHP 중국 웹사이트에서 다음의 Alibaba Cloud Server 기반 LAMP 환경 구성에 대한 자세한 기사를 친구들과 공유하겠습니다. CentOS 6.3. 아래에서 자세히 살펴보겠습니다.

1. Apache 구성

vi /etc/httpd/conf/httpd.conf 파일 편집

옵션 색인 FollowSymLinks

331행에서 다음으로 변경: 옵션 ExecCGI FollowSymLinks 포함(서버가 CGI 및 SSI를 실행할 수 있도록 허용) )

#AddHandler cgi-script .cgi

는 796행에서 다음과 같이 수정됩니다. AddHandler cgi-script .cgi .pl(확장자가 .pl인 CGI 스크립트 실행 허용)

AllowOverride None

은 338행에서 다음으로 수정됩니다. : AllowOverride All (.htaccess 허용)

AddDefaultCharset UTF-8

라인 759를 다음으로 변경: AddDefaultCharset GB2312 (GB2312를 기본 인코딩으로 추가)

Options Indexes MultiViews

이 라인을 찾아 "Indexes"를 삭제하고 변경하세요. 이 상태로 옵션 MultiViews(브라우저에 트리 디렉터리 구조를 표시하지 않음)

DirectoryIndex index.html index.html.var

행 402를 다음으로 변경: DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var(기본 홈페이지 파일 설정, index.php 추가)

KeepAlive Off

행 76을 다음으로 변경: KeepAlive On(프로그래밍 방식 연결 허용)

MaxKeepAliveRequests 100

83행을 MaxKeepAliveRequests 1000(동시 연결 수 증가)

:wq! #저장하고 종료

/etc/init.d/httpd restart Restart

DocumentRoot "/var/www/html"로 수정하세요. 디렉터리 "/data0/www/xxxxxxxxx"(이 디렉터리는 마운트된 데이터 디스크입니다)

rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #기본 테스트 삭제 Page

Apache의 로그 파일
ErrorLog /etc/httpd/logs/error_log (php 오류 로그도 여기에 출력됩니다)
CustomLog /etc/httpd/logs/access_log 결합

2.PHP 구성

vi / etc/ php.ini #Edit

date.timezone = PRC #946행에서 앞의 세미콜론을 제거하고 다음으로 변경합니다. date.timezone = PRC

magic_quotes_gpc = On # SQL 주입을 방지하려면 745행에서 Magic_quotes_gpc를 켜세요(php5.4는 그렇지 않습니다). Magic_quotes_gpc 지원 안함(SQL 유입 방지)

log_errors = #오류 로그 기록

:wq! #저장하고 종료

/etc/init.d/httpd restart #Apche 재시작, php

3. 데이터 디스크

Alibaba Cloud Server의 하드 디스크는 두 부분으로 구성되어 있습니다. 하나는 시스템 디스크이고 다른 하나는 데이터 디스크가 기본적으로 마운트되어 있지 않습니다. 수동으로 직접 마운트하십시오.

fdisk -l 명령을 실행하면 장치 이름이 /dev/xvdb임을 알 수 있습니다.

또한, 마운트하기 전에 하드 디스크(/dev/xvdb)를 파티션하고 포맷해야 합니다.

fdisk 명령을 사용하여 파티션을 나누고 mkfs.ext3을 사용하여 포맷하세요.

작동 방법은 공식 문서인 Linux 시스템 장착 데이터 디스크를 참조하세요.

최대 4개의 데이터 디스크를 마운트할 수 있으며, /data0에 마운트됩니다. 향후에는 /data1,/data2,/data3에 다른 데이터 디스크를 마운트할 수 있습니다.

데이터 디스크의 역할은 Alibaba Cloud 서버입니다. 콘솔은 선택적인 "재설정" 기능을 제공합니다. 시스템 디스크 또는 데이터 디스크를 재설정합니다. 운영 체제가 손상된 경우 시스템 디스크만 재설정하고 웹 사이트 데이터를 데이터 디스크에 유지할 수 있습니다.

4. MySQL 데이터베이스 구성

초기 비밀번호 설정, 데이터베이스 구축, 테이블 생성, 데이터 가져오기

여기를 참조하세요: MySQL 백업 및 복구, MySql 서버에 대한 원격 액세스

그런 다음 mysql 데이터 파일을 " "로 이동합니다. 데이터 디스크"는 시스템이 손상되거나 시스템이 재구축될 때 데이터가 손실되는 것을 방지합니다.

mysql 데이터 파일을 이동한 후 mysql -u 사용자 이름 -p를 사용하여 로그인할 때 오류가 발생했습니다. ERROR 2002(HY000): Can't 소켓을 통해 로컬 MySQL 서버에 연결 '/var/lib/mysql/mysql.sock' (2)

my.cnf 파일을 수정할 때 위와 다른 여러 단계가 있기 때문입니다. 작업 방법은 다음과 같습니다.

  • mysql 프로세스 중지

  • /var/lib/mysql 디렉토리 전체를 /data0/db

mv /var/lib/mysql /home/data/로 이동합니다.

이 방법으로 MySQL 데이터 파일을 /data0/db/mysql

  • my.cnf 구성 파일을 수정했습니다.

/etc/my.cnf 구성 파일을 직접 사용하지 말고 /usr로 이동하세요. /share/mysql/ *.cnf 파일을 찾아서 그 중 하나(제 경우에는 my-medium.cnf)를 /etc/에 복사하고 이름을 my.cnf로 바꿉니다. 명령은 다음과 같습니다:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

  • MySQL 구성 파일 편집 /etc/my.cnf

MySQL이 제대로 작동하려면 mysql.sock 파일이 생성되는 위치를 지정해야 합니다.

# 다음 옵션은 모든 MySQL 클라이언트에 전달됩니다
[client]
#password = your_password
port = 3306
#socket = /var/lib/mysql/mysql.sock #Commented
socket=/data0/db/ mysql /mysql.sock #새로 추가된 콘텐츠
# 다음은 일부 특정 프로그램에 대한 항목입니다

# MySQL 서버
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock #Commented
datadir= /data0/db/mysql #새로 추가된 콘텐츠
socket=/data0/db/mysql/mysql.sock #새로 추가된 콘텐츠

  • MySQL 시작 스크립트/etc/rc.d/init.d/ mysqld 만들 필요 없음 수정 사항이 있으면

  • MySQL 서비스를 다시 시작하세요

/etc/rc.d/init.d/mysqld start

작업이 정상이면 이동이 성공하고, 그렇지 않으면 이전 7단계에 따라 다시 확인하세요. .

MySql을 이동한 후 PHP가 Mysql 데이터베이스에 연결할 수 없습니다.

위 작업 후 MySql 데이터 파일을 다른 디렉터리로 옮긴 후 mysql.sock 파일을 찾을 수 없기 때문에 PHP가 MySql 데이터베이스에 연결할 수 없습니다.

해결책 1:

소프트 연결 만들기

cd /var/lib
mkdir mysql
ln -s  /data0/db/mysql/mysql.sock  /var/lib/mysql/mysql.sock

해결책 2:

/etc/php.ini 파일을 수정하세요

mysql.default_socket = 줄을 찾으세요. 이 값은 처음에는 비어 있습니다. mysql에 내장된 기본값을 사용합니다.

다음 내용으로 변경하세요.

mysql.default_socket = /data0/db/mysql/mysql.sock

mysql.sock 파일 위치를 실제 상황에 맞게 입력해주세요.

mysqli.default_socket =도 있습니다. 수정 여부는 상황에 따라 다릅니다. 여기에서는 수정되지 않았습니다.

추천 관련 기사:

Alibaba Cloud에서 LAMP 환경의 빠른 설치 및 배포 서버 - CentOS 6.3 기준

Linux LAMP(Apache+PHP+MySql) 환경 구성

Laravel 환경 설정: Alibaba Cloud 또는 Tencent Cloud에 laravel을 배포하는 방법 단계

관련 강좌 추천:

2017년 Laravel 최신 동영상 튜토리얼 5개 추천

위 내용은 램프 환경 구성: CentOS 6.3의 Alibaba Cloud 서버에서 LAMP 환경 구성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.