>  기사  >  운영 및 유지보수  >  램프=리눅스+아파치+Mysql+Php

램프=리눅스+아파치+Mysql+Php

巴扎黑
巴扎黑원래의
2017-06-23 14:34:402825검색

1. 현재 주류 인터넷 webservices

정적 서비스:

1.apache---소형 및 중형 정적 web주류 서비스, web대규모 Brother in the server

2.nginx---대규모 신규 네트워크 정적web서비스 주류, webnewborn calf in the server

3.lighttpd---static webservice tepid Fire는 점차적으로 제거되고 커뮤니티가 비활성화되며 효율성이 매우 높다는 것을 의미합니다.

동적 서비스:

1.IIS(인터넷 정보 서비스)---Microsoft의 web서버(asp, aspx)

2.tomcat--- 중소기업을 위한 소식web주류 서비스, 주류 인터넷java컨테이너(jsp, do)

3.resin---대형 동적 웹사이트 web 서비스 주류, 인터넷java컨테이너 주류(jsp, do)

4.php(fcgi )--- 대형, 중형 및 소형 웹사이트, php프로그램의 구문 분석 컨테이너

a. apache와 협력합니다. php는 데몬은 아니지만 mod_php5.so(모듈 )

b. 협력 nginx, lighttpd, phpdaemon 모드, FCGImode.

2. Apache 설치

1.먼저 httpd서비스를 설치해야 합니다(yum install httpd -y)

확인: 냠 설치g cc gcc++ zlib zlib -devel -y

2.설치 apache(주소Shangguan 웹사이트)

apache소스 코드 편집:

./configure --prefix=/application/apache2. 2.32

- -enable-expires

--enable-headers

--enable-modules=most

--enable-so

--with-mpm=worker

--enable-deflate

- -enable-rewrite

make &&make install

3. apache 서비스 시작:

1) apache 구문이 가능한지 확인: [root@localhost local]# /application /apache/bin/apachectl - t

2) apache 서비스 시작: [root@localhost local]# /application/apache/bin/apachectl start

3) apache 서비스가 시작되었는지 확인: lsof - i:80 또는 ps -ef|grep apache

작동하면 성공을 의미

않으면ok포트, 방화벽을 확인하세요. selinux , process

strace프로세스를 추적하는 명령

컴파일된 내용을 /application/apache/htdocs/아래에 수정합니다. index.html

Three./application/apache디렉토리가 있습니다. 구조

apache 최적화 1. 인덱스 앞에 - 기호를 추가합니다. root@localhost conf]# vi httpd.conf 또는 직접 삭제

/application/apache/conf/extra 핵심 파일 3개

4. 가상 호스트

1. 가상 호스트: 여러 사이트 배포 , 각 사이트는 서로 다른 도메인 이름과 사이트 디렉터리를 사용하려고 하거나 서로 다른 포트와 서로 다른 IP에 가상 호스트가 필요합니다.

한마디로 http 서비스를 위해 여러 사이트를 구성하려면 가상머신이 필요합니다. ​​​​사이트 디렉토리

www.etiantian.org

                                                                           사용 초 } -p

[root@localhost apache]# touch /var/html/{www,blog,bbs}/index.html

[root @localhost apache]# www 블로그의 이름 bbs;do echo "http: //$name.etiantian.org" >/var/html/$name/index.html;done

[root@localhost apache]# www 블로그의 이름 bbs;do cat /var/html/$name/ index.html;done

vim /application/apache/conf/extra/httpd-vhosts.conf

ServerAdmin 928939638@qq.com

DocumentRoot "/var/html/ www"

ServerName www.etiantian.org

ServerAlias ​​​​etiantian.org

ErrorLog "logs/www-error_log"

CustomLog "logs/www -access_log" common

ServerAdmin 928939638@qq.com

DocumentRoot "/var/html/blog"

ServerName blog.etian tian.org

ErrorLog "logs/blog-error_log"

CustomLog "logs /blog-access_log" common

ServerAdmin 928939638@qq.com

DocumentRoot " /var/html/bbs"

ServerName bbs.et 이안티안. org

ErrorLog "logs/bbs-error_log"

CustomLog "logs/bbs-access_log" common

vim /application /apache/conf/httpd.conf (다음 두 개를 클릭하세요) 댓글 줄)

[root@localhost extra]# /application/apache/bin/apachectl -t

구문 확인

구문 확인

[root@localhost extra]# /application/ apache/bin/apachectl Graceful 아파치를 다시 시작하세요

vim /application/apache/conf/httpd.conf 마지막 줄에 다음 내용을 추가하세요:

Options FollowSymLinks

AllowOverride None

Order 허용, 거부

Allow from all

위 구성은 403 오류를 방지하고 구문이 잘못된지 확인합니다.

수정 windows 로컬 system32 드라이브 호스트(192.168.76.128 www.etiantian.org blog.etiantian.org bbs.etiantian.org

)

[root@localhost extra]# grep "^Include" /application/apache/conf/ httpd.conf

conf/extra/httpd-mpm.conf 포함

conf/extra/httpd-vhosts.conf 포함

1.ql-g mysql -M -s / sbin/nologin

mysql편집: ./configure --prefix=/application/mysql5.1.72

--with-unix-socket-path=/application/ mysql5.1.72/tmp/mysql .sock

--localstatedir=/application/mysql5.1.72/data --어셈블러 활성화

--활성화-스레드-안전-클라이언트

--with-mysqld-user =mysql

--with -큰 테이블

--디버그 없음

--pthread 포함

--어셈블러 사용

--with-extra-charsets=complex

--readline 포함

--ssl 포함

--포함-서버 포함

--enable-local-infile

--with-plugins=partition,innobase

--with-mysqld-ldflags=-all-static

--with-client -ldflags=-all-static

yum -y install ncurses-devel

(오류 해결 방법)

root@localhost 애플리케이션]# cd /home/cai/tools/

[root@localhost 도구]# cd mysql-5.1.72/support-files/[root@localhost support-files]# cp my-small.cnf /etc/my.cnf

cp: "/etc /my.cnf"를 포함할지 여부? y

[root@localhost 지원 파일]# cd /etc/

[root@localhost 등]# less my.cnf

[root@localhost 등]# mkdir /application/mysql/date -p

[ root@localhost 등]# chown -R mysql.mysql /application/mysql

[root@localhost 등]#/application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/ data/ --user=mysql

MySQL 시스템 테이블 설치 중...

170314 20:15:22 [경고] '--skip-locking'은 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. '--를 사용하세요. Skip-external-locking'을 대신 사용하세요.

OK

도움말 테이블 채우기...

170314 20:15:22 [경고] '--skip-locking'은 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. 대신 '--skip-external-locking'을 사용하세요.

OK

부팅 시 mysqld를 시작하려면

support-files/mysql.server를 시스템의 올바른 위치에 복사해야 합니다

기억하세요 MySQL 루트 사용자의 비밀번호를 설정하려면 !

이렇게 하려면 서버를 시작한 후 다음 명령을 실행하세요:

/application/mysql/bin/mysqladmin -u 루트 비밀번호 'new-password'

/ application/mysql/bin/mysqladmin -u root -h localhost.localdomain 비밀번호 'new-password'

또는 다음을 실행할 수도 있습니다:

/application/mysql/bin/mysql_secure_installation

기본적으로 생성된 테스트

데이터베이스 및 익명 사용자를 제거하는 옵션입니다. 이는 프로덕션 서버에

강력히 권장됩니다. cd /application/mysql;/application/mysql/bin/mysqld_safe run.pl

문제가 있으면 신고해 주세요. /application/mysql/scripts/mysqlbug 스크립트로!

Start

mysql:/application/mysql/bin/mysqld_safe & (서비스를 시작하고 부팅에 추가하세요. 자동 시작)

[root @localhost support-files]# netstat -lntup|grep mysql (서비스 시작 여부 확인)

vi /etc/profile 마지막에 사용자 줄 추가

종료:

mysqladmin shutdown

/application/mysql/bin/mysqladmin -u root -h localhost.localdomain 비밀번호 'new-password' 비밀번호 설정

mysql -uroot -p ( 비밀번호 전달 후 mysql 로그인 방법 설정)

php

apache==

under phpLAMP

libphp5.so

nginx php==

fc giphp -

-yum -YUM-YINSTALL GCC GCC-C ++ AutoConf Libjpeg Libjpeg-Devel libpng libpng-devel free-devel libxml2-devel ZLib-Deer GL IBC Glibc-Devel Glib2-Devel Bzip2-Devel NCURSES- Devel NCURSES- devel 컬 컬 개발자 e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers (설치해야 하는 다양한 라이브러리)

yum install zlib libxml libjpeg freetype libpng gd cur libiconv zlib-devel libxml2-devel libjpeg-devel libjpeg-devel freetype-devel libpng-devel gd-devel cur-devel -y (oldboy에서) libiconv 라이브러리에는 필요합니다(컴파일 및 설치)

php 컴파일:

./configure

--prefix=/application/php5.3.27

--with-apxs2=/application/apache/bin/apxs

--with-mysql=/application/ mysql

- -with-xmlrpc

--with-openssl

--with-zlib

--with-freetype-dir

--with-gd

--with-jpeg-dir

- -with-png -dir

--with-iconv=/usr/local/libiconv

--짧은 태그 활성화

--소켓 활성화

--zend-멀티바이트 활성화

--활성화 -soap

--enable-mbstring

--enable-static

--enable-gd-native-ttf

--with-curl

--with-xsl

--enable-ftp

--with- libxml-dir

[root@localhost php]# ll /application/apache/modules/

총 사용량

23908

-rw-r--r-- 1 루트 루트 9262 4월 15일 09:27 httpd.exp

-rwxr-xr-x 1 루트 루트 24465701 4월 15일 10:15 libphp5.so[root@localhost php]# grep libphp5 /application/apache/conf/httpd.conf

LoadModule php5_module 모듈 /libphp5.so

Configuration

php

파일:

두가지가 있는데 하나는 프로덕션 환경

하나는 개발 환경(테스트 환경)

[root @ localhost php-5.3.27]# diff php.ini-development php.ini-production[root@localhost php-5.3.27]# cp php.ini-production /application/php/lib/php .ini

요약: 공식 구성 파일은 일반적으로 디스플레이

LOG를 닫고 LOG

Configurationapache는 php

vim /application/apache/conf/httpd.conf를 지원합니다. 98행 수정 ServerName 192.168 .76.128: 80

vim /application/apache/conf/httpd.conf 311행 아래에 두 줄 추가

AddType application/x-httpd-php .php .phtml

AddType application/x-httpd- php-source .phps

사용자 데몬도 다른 것으로 수정해야 합니다(기본값을 수정해야 한다는 것은 누구나 알고 있습니다).

라인 166을

[root@ localhost conf]# diff httpd.conf httpd .conf.ori,67,68c67,68

& lt; 사용자 www

& lt; 그룹 www

---

& gt; 그룹 daemon

168c168

& lt;directoryindex.html

---

> DirectoryIndex index.html

320,321d319

<

< AddType application/x-httpd-php- source .phps

Add

www 사용자: useradd www -s /sbin/nologin -M

[root@localhost conf]# /application/apache/ bin/apachectl Graceful 아파치 서비스 재시작

/var/html/blog vi index.php

[root@localhost blog]# cat index.php

< ?php

phpinfo();

?> ;

이 인터페이스는

php+apache가 성공했음을 나타내는 것으로 보입니다

vi /var/html/blog/index.php

//$link_id=mysql_connect('hostname','user','password');

$link_id=mysql_connect('localhost','root','oldboy123') 또는 mysql_error ();

if($link_id){

echo "oldboy가 mysql을 성공했습니다!";

}else{

echo mysql_error();

}

?>

상단 인터페이스는 mysql이 성공했음을 나타냅니다

위 내용은 램프=리눅스+아파치+Mysql+Php의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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