>  기사  >  백엔드 개발  >  CentOS7에서 nginx-181 mysql-5711 php-5533 환경의 LNMP 소스 코드 설치

CentOS7에서 nginx-181 mysql-5711 php-5533 환경의 LNMP 소스 코드 설치

WBOY
WBOY원래의
2016-07-30 13:29:291499검색

lnmp 환경 설치:
환경은 CentOS7 최소 설치 설치 중에 개발 도구 등 여러 개발 도구가 선택되었습니다(자세한 내용은 기억나지 않음)
nginx-1.8.1 mysql-5.7.11 php-5.5 .33
요구 사항:
MYSQL 및 NGINX의 데이터 파일과 로그 파일은 /data에 위치합니다
설치 디렉터리도 /data/webserver로 변경해야 합니다
1. 설치 패키지를 다운로드합니다. 설치 종속성 환경 구성
방화벽 개방 포트 80 3306 설정
# Firewall-cmd --z --add-port=80/tcp --permanent
# Firewall-cmd --z --add -port=3306/tcp -- 영구
# Firewall-cmd --reload
selinux 설정 구성
# vi /etc/selinux/config
# 이 파일은 시스템의 SELinux 상태를 제어합니다. .
# SELINUX=는 다음 세 가지 값 중 하나를 취할 수 있습니다.
# 시행 - SELinux 보안 정책이 시행됩니다.
# 허용 - SELinux는 시행 대신 경고를 인쇄합니다.
# 비활성화됨 - SELinux 정책이 없습니다. 로드됨.
SELINUX=비활성화
# SELINUXTYPE= 세 가지 값 중 하나를 취할 수 있습니다:
# 대상 - 대상 프로세스가 보호됨,
# 최소 - 대상 정책 수정.
# mls - 다단계 보안 보호.
#SELINUXTYPE=targeted
시스템 다시 시작
설치 디렉터리 만들기:
#mkdir -p /data/webserver/nginx
#mkdir /data/webserver/mysql
# mkdir /data/webserver/php
#mkdir /data/webserver/src(소프트웨어 다운로드 디렉터리)
#mkdir /data/mysqldb(mysql 데이터 저장 디렉터리)
mysql 다운로드
#wget http: //dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11.tar.gz
php 다운로드
#wget http://cn2 .php.net/distributions/php-5.5 .33.tar.gz
nginx 다운로드
#wget http://nginx.org/download/nginx-1.8.1.tar.gz
cmake 다운로드 (MySQL 컴파일 도구)
#wget http://www.cmake.org/files/v2.8/cmake-2.8.8.tar.gz
pcre 다운로드(nginx pseudo-static 지원)
#wget http://sourceforge.net/projects /pcre/files/pcre/8.35/pcre-8.35.tar.gz
libmcrypt(PHPlibmcrypt 모듈) 다운로드
#wget http://nchc.dl.sourceforge .net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
부스트 다운로드(MySQL 5.7.5부터 Boost 라이브러리 필요)
#wget http://downloads. sourceforge.net/project/boost/boost/ 1.59.0/boost_1_59_0.tar.gz
#yum -y install make apr* autoconf automake cur-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd 커널 keyutils 패치 perl 커널 헤더 compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch mhash ntp --skip-broken
2. 설치 패키지 압축 풀기:
#cd /data/webserver/src
#ls *.tar.gz |xargs -n1 tar zxf
2. cmake 설치:
#cd /data/webserver/ src /cmake-2.8.8
#./configure
#gmake && gmake install
3. mysql 설치:
#cd /data/webserver/src/mysql-5.7.11
# cmake .DCMAKE_INSTALL_PREFIX=/data/webserver/mysql -DMYSQL_DATADIR=/data/mysqldb -DSYSC -DWITH_BOOST=../boost_1_59_0 -DDOWNLOAD_BOOST=1
#make && make install
4. # groupadd mysql
# useradd -g mysql -s /sbin/nologin mysql
#cp /data/webserver/mysql/support-files/my-default.cnf /etc/my.cnf # 구성 파일 복사 (참고: 기본적으로 /etc 디렉터리 아래에 my.cnf가 있으므로 직접 덮어쓰면 됩니다.)
#/data/webserver/mysql/bin/mysqld --initialize --user=mysql --datadir=/data /mysqldb --basedir =/data/webserver/mysql/ --socket=/tmp/mysql.sock#mysql 서버 초기화 q>d,<와 같이 잘못된 mysql 비밀번호 문자열이 생성됩니다. (Uj9*9j
비밀번호 가져오기: root@localhost에 대한 임시 비밀번호가 생성됩니다: q>d,<(Uj9*9j
#cp /data/webserver/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld # 시스템 시작에 Mysql 추가
#chmod 755 /etc/init.d/mysqld #실행 권한 증가
#chkconfig mysqld on #부팅에 추가
#vi /etc/rc.d/init.d/ mysqld #Edit
basedir = /data/webserver/mysql #MySQL 프로그램 설치 경로
datadir = /data/mysqldb #MySQl 데이터베이스 저장 디렉터리
# /etc/init.d/mysqld start #시작
#/data/webserver/mysql/bin/mysql -uroot -p # mysql에 로그인
>setpassword=password('zhulong123') # 비밀번호 변경
#vi /etc/profile #Service mysql 시스템 환경 변수 추가: 마지막에 다음 줄 추가
export PATH=$PATH:/data/webserver/mysql/bin 
다음 두 줄 myslq 라이브러리 파일을 시스템 기본 위치에 연결하면 PHP와 같은 소프트웨어를 컴파일할 때 mysql의 라이브러리 파일 주소를 지정할 필요가 없습니다.  
#ln -s /data/webserver/mysql/lib/mysql /usr/lib/mysql  
#ln -s /data/webserver/mysql/include/mysql /usr/include/mysql    
三、安装nginx
1、安装PCRE
#cd /data/webserver/src/pcre-8.35
#./configure --prefix=/data/webserver/pcre 
#make  && make install
#systemctl 활성화  ntpd.service
#systemctl start ntpd
2, 安装nginx
#groupadd www
#useradd -g www www -s /bin/false
#cd / 데이터/웹서버/src/nginx-1.8.1
#./configure --prefix=/data/webserver/nginx --without-http_memcached_module --error-log-path=/data/logs/nginx/error. 로그 --http-log-path=/data/logs/nginx/error.log --pid-path=/data/logs/nginx  --user=www --group=www --with-http_stub_status_module --with- openssl=/usr/  --with-pcre=/data/webserver/src/pcre-8.35
#make && make install
修改配置文件:
#vi /data/webserver/nginx/conf/nginx.conf
#修改nginx日志文件的目录
사용자  www www;
worker_processes 1;
error_log  /data/logs/nginx/error.log;
error_log  /data/logs/nginx/error.log 통지;
error_log  /data/logs/nginx/error.log  info;
pid        /var/run/nginx.pid;
이벤트 {
    작업자_연결  1024;
}
3 、设置nginx自启动,加入以下脚本
#!/bin/bash
# Nginx HTTP 서버용 nginx 시작 스크립트
# v.0.0.2 버전입니다.
# chkconfig: - 85 15
# 설명: Nginx는 고성능 웹 및 프록시 서버입니다.
#              많은 기능을 가지고 있지만 모든 사람을 위한 것은 아닙니다.
# 프로세스 이름: nginx
# pidfile: / var/run/nginx.pid
# 구성: /usr/local/nginx/conf/nginx.conf
nginxd=/data/webserver/nginx/sbin/nginx
nginx_c/webserver/nginx/conf /nginx.conf
nginx_pid=/var/run/nginx.pid
RETVAL=0
prog="nginx"
# 소스 함수 라이브러리.
. /etc/rc.d/init.d/functions
# 소스 네트워킹 구성
. /etc/sysconfig/network
# 네트워킹이 작동 중인지 확인하세요.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || 종료 0
# nginx 데몬 기능을 시작합니다.
start() {
if [ -e $nginx_pid ];then
   echo "nginx가 이미 실행 중입니다...."
   exit 1
fi
   echo -n $"$prog 시작: "
   daemon $nginxd -c ${nginx_config}
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch / var/lock/subsys/nginx
   return $RETVAL
}
# nginx 데몬 기능을 중지합니다.
stop() {
        echo -n $"$prog 중지: "
        killproc $nginxd
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /data/logs/nginx/nginx.pid
}
# nginx 서비스 함수를 다시 로드합니다.
reload() {
    echo -n $"Reloading $prog: "
    #kill -HUP `cat ${nginx_pid}`
    killproc $nginxd -HUP
    RETVAL=$?
    echo
}
# 어떻게 호출되었는지 확인하세요.
case "$1" in
start)
        start
        ;;
stop )
        중지
        ;;
새로고침)
        새로고침
        ;;
다시 시작)
        중지
        시작
        ;;
상태)
status $prog
        RETVAL=$?
        ;;
*)
        echo $"사용법: $prog {start|stop|restart|reload|status|help}"
        1 종료
esac
exit $RETVAL
建立服务文件
# vim /lib/systemd/system/nginx.service 
[단위]  
설명=nginx  
After=network.target  
   
[서비스]  
Type=forking  
ExecStart=/www/lanmps/init.d/nginx start  
ExecReload=/www/lanmps/init. d/nginx 재시작  
ExecStop=/www/lanmps/init.d/nginx  중지  
PrivateTmp=true  
   
[설치]  
WantedBy=multi-user.target
chmod 775 /etc/rc.d/init.d/nginx
chkconfig nginx on
/etc/rc.d/init.d/nginx restart
service nginx restart
4、安装php
1, 安装libmcrypt
#cd /data/webserver/src/libmcrypt-2.5.8
#./configure
#make
#nake 설치
2, 安装PHP
# cd /data/webserver/src/php-5.5.33
#./configure --prefix=/data/webserver/php --with-config-file-path=/data/webserver/php/etc -- with-mysql=/data/webserver/mysql --with-mysqli=/data/webserver/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath       --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable -gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-pear --with-gettext --enable-session --with-mcrypt --with-curl
#make && make install
3、配置php
#cp php.ini-production /data/webserver/php/etc/php.ini #复제php적配置文件
#rm -rf /etc/php.ini
#ln -s /data/webserver/php/ etc/php.ini /etc/php.ini
#cp /data/webserver/php/etc/php-fpm.conf.default /data/webserver/php/etc/php-fpm.conf  #复제php- fpm적의 配置文件
#vi /data/webserver/php/etc/php-fpm.conf
user = www #设置php-fpm运行账号为www 
group = www #设置php-fpm运行组为www 
pid = run/php-fpm.pid #取消앞면적분할
#cp /data/webserver/src/php-5.5.33/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm#拷贝php-fpm到启动目录
#chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
#chkconfig php-fpm on #设置开机启动
#vi /data/webserver/php/etc/php.ini #编辑配置文件
修改为:date.timezone = PRC #设置时区
4,配置nginx支持php 
#vi /data/webserver/nginx/conf/nginx.conf #编辑配置文件,需做如下修改
사용자 www www; #首行user去掉注释,修改Nginx运行组为www,www;必须与/usr/local/php5/etc/php-fpm.conf中的user,group配置상동,否则php运行行错 
색인 색인입니다. PHP index.html index.htm; #添加index.php
# 127.0.0.1:9000
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; 
}
#取消FastCGI 서버의 위치가 注释, 并要注의고fastcgi_param行적参数,改为
$document_root$fastcgi_script_name,或者使用绝对路径
/etc/init.d/nginx 다시 시작하다 #중복nginx 
5、测试
#cd /data/webserver/nginx/html/ #进入nginx默认网站根目录
#rm -rf /data/webserver/nginx/html/* #删除默认测试页 
#vi index.php #编辑

chown www.www /data/webserver/nginx/html/ -R #设置目录所有者
chmod 700 /data/webserver/nginx/html/ -R #设置目录权限
shutdown -r 지금 #중복계통
以上就介绍了CentOS7下nginx-181 mysql-5711 php-5533环境的LNMP源码安装,包括了方容,希望对PHP教程有兴趣的朋友有所帮助。

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