CentOS7 编译安装LNMP
LNMPCentOS
LNMP(Linux-Nginx-Mysql-PHP),本文在 CentOS7.0 上编译LNMP尝尝鲜,全文基本上都是采用手动编译部署...依赖yum帮我安装了GCC和automake..写这个东西耗时有点久了...尼玛 太花时间啦,Linux运维交流群:344177552
主要软件版本:
nginx-1.6.0<br>php-5.3.5<br>mysql-5.5.6
yum源配置(其实没什么改动)
[root@ipython ~]# cat /etc/yum.repos.d/1.repo <br>[1]<br>name=1<br>baseurl=file:///media<br>enabled=1<br>gpgcheck=0<br><br>[root@ipython ~]# mount /dev/cdrom /media && yum clean all<br>mount: /dev/sr0 is write-protected, mounting read-only<br>Loaded plugins: fastestmirror<br>Cleaning repos: 1<br>Cleaning up everything
编译工具安装
[root@ipython ~]# yum install gcc-c++ automake autoconf bzip2
zlib库(提供数据压缩用的函式库):
[root@ipython lnmp]# tar zxf zlib-1.2.8.tar.gz <br>[root@ipython lnmp]# cd zlib-1.2.8<br>[root@ipython zlib-1.2.8]# ./configure --prefix=/software/sharelib<br>[root@ipython zlib-1.2.8]# make && make install
pcre库(rewrite的支持)
[root@ipython lnmp]# tar zxf pcre-8.35.tar.gz <br>[root@ipython lnmp]# cd pcre-8.35<br>[root@ipython pcre-8.35]# ./configure --prefix=/software/pcre --enable-utf8 --enable-unicode-properties<br>[root@ipython pcre-8.35]# make && make install
OpenSSL库(https的支持)
[root@ipython lnmp]# tar zxf openssl-1.0.1h.tar.gz <br>[root@ipython lnmp]# cd openssl-1.0.1h<br>[root@ipython openssl-1.0.1h]# ./config --prefix=/software/openssl<br>[root@ipython openssl-1.0.1h]# make && make install
TCMalloc工具(google内存管理套件)
[root@ipython lnmp]# tar zxf libunwind-1.1.tar.gz <br>[root@ipython lnmp]# cd libunwind-1.1<br>[root@ipython libunwind-1.1]# CFLAGS=-fPIC ./configure --prefix=/software/google-libunwind<br>[root@ipython libunwind-1.1]# make CFLAGS=-fPIC && make CFLAGS=-fPIC install<br><br>[root@ipython lnmp]# tar zxf gperftools-2.2.tar.gz <br>[root@ipython lnmp]# cd gperftools-2.2<br>[root@ipython gperftools-2.2]# LDFLAGS="-L/software/google-libunwind/lib" CPPFLAGS="-I/software/google-libunwind/include" ./configure --prefix=/software/google-perftools<br>[root@ipython gperftools-2.2]# make && make install<br><br>###路径加到动态链接库###<br>[root@ipython gperftools-2.2]# echo "/software/google-libunwind/lib/" >> /etc/ld.so.conf<br>[root@ipython gperftools-2.2]# echo "/software/google-perftools/lib/" >> /etc/ld.so.conf<br>[root@ipython gperftools-2.2]# echo "/software/sharelib/lib/" >> /etc/ld.so.conf && ldconfig
Nginx(不解释)
[root@ipython lnmp]# groupadd -g 1500 nginx<br>[root@ipython lnmp]# useradd -M -u 1500 -g nginx -s /sbin/nologin nginx<br>[root@ipython lnmp]# mkdir /var/tmp/nginx<br>[root@ipython lnmp]# chown nginx:nginx /var/tmp/nginx/<br>[root@ipython lnmp]# tar zxf nginx-1.6.0.tar.gz <br>[root@ipython lnmp]# cd nginx-1.6.0<br>[root@ipython nginx-1.6.0]# sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/' auto/cc/gcc<br>[root@ipython nginx-1.6.0]# sed -i "s#/usr/local#/software/google-perftools#" auto/lib/google-perftools/conf<br>##配置参数有点长##<br>[root@ipython nginx-1.6.0]# ./configure --prefix=/software/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_gzip_static_module --with-debug --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre=/root/lnmp/pcre-8.35 --with-openssl=/root/lnmp/openssl-1.0.1h --with-zlib=/root/lnmp/zlib-1.2.8 --with-google_perftools_module<br>[root@ipython nginx-1.6.0]# make && make install<br><br>[root@ipython nginx-1.6.0]# mkdir /tmp/tcmalloc<br>[root@ipython nginx-1.6.0]# chmod 0777 /tmp/tcmalloc/<br>###这文件在附件里###<br>[root@ipython nginx-1.6.0]# cp ../nginx.conf /software/nginx/conf/<br>[root@ipython nginx-1.6.0]# cp ../fcgi.conf /software/nginx/conf/<br>[root@ipython nginx-1.6.0]# chmod 755 /etc/init.d/nginx<br>[root@ipython nginx-1.6.0]# mkdir /data/{logs,www.ipython.me}<br>[root@ipython nginx-1.6.0]# /software/nginx/sbin/nginx<br>[root@ipython nginx-1.6.0]# iptables -F<br>[root@ipython nginx-1.6.0]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT<br>[root@ipython nginx-1.6.0]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT<br>[root@ipython nginx-1.6.0]# ps aux|grep nginx<br>root 612910.00.031120 896 ?Ss 15:36 0:00 nginx: master process /software/nginx/sbin/nginx -c /software/nginx/conf/nginx.conf<br>nginx612930.00.1315601612 ?S15:36 0:00 nginx: worker process
ncurses库(字符终端处理库)
[root@ipython lnmp]# tar jxf ncurses-5.9.tar.bz2 <br>[root@ipython lnmp]# cd ncurses-5.9<br>[root@ipython ncurses-5.9]# ./configure --prefix=/software/ncurses --with-shared --without-debug<br>[root@ipython ncurses-5.9]# make && make install
Mysql(数据库)
[root@ipython lnmp]# /usr/sbin/groupadd mysql<br>[root@ipython lnmp]# /usr/sbin/useradd -s /sbin/nologin -g mysql mysql<br>[root@ipython lnmp]# tar zxf mysql-5.5.6-rc.tar.gz <br>[root@ipython lnmp]# cd mysql-5.5.6-rc<br>[root@ipython mysql-5.5.6-rc]# ./configure --prefix=/software/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase,myisammrg --with-named-curses-libs=/software/ncurses/lib/libncurses.so.5<br>[root@ipython mysql-5.5.6-rc]# make && make install<br>[root@ipython mysql-5.5.6-rc]# mkdir /data/mysql/{binlog,relaylog} -p<br>[root@ipython mysql-5.5.6-rc]# chown -R mysql:mysql /data/mysql<br>[root@ipython mysql-5.5.6-rc]# /software/mysql/bin/mysql_install_db --basedir=/software/mysql/ --datadir=/data/mysql/ --user=mysql<br>###这文件在附件里###<br>[root@ipython mysql-5.5.6-rc]# /cp ../my.cnf /etc/my.cnf<br>[root@ipython mysql-5.5.6-rc]# /cp ../mysqld /etc/init.d/mysqld<br>[root@ipython mysql-5.5.6-rc]# chmod 755 /etc/init.d/mysqld <br>[root@ipython mysql-5.5.6-rc]# systemctl enable mysqld<br>[root@ipython mysql-5.5.6-rc]# systemctl start mysqld<br><br>[root@ipython mysql-5.5.6-rc]# ps aux | grep mysqld<br>root 554750.10.1 1153481696 ?S16:07 0:00 /bin/sh /software/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid<br>mysql563422.7 11.9 1918248 120680 ?Sl 16:07 0:01 /software/mysql/libexec/mysqld --basedir=/software/mysql --datadir=/data/mysql --plugin-dir=/software/mysql/lib/mysql/plugin --user=mysql --log-error=/data/mysql/mysql_error.log --open-files-limit=10240 --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306
libiconv库(字符编码转换)
[root@ipython lnmp]# tar zxf libiconv-1.14.tar.gz<br>###打补丁吧,避免手动修改隐患逻辑错误###<br>[root@ipython lnmp]# gzip -d libiconv-glibc-2.16.patch.gz<br>[root@ipython lnmp]# cd libiconv-1.14/srclib<br>[root@ipython srclib]# patch -p1 patching file stdio.in.h<br>[root@ipython libiconv-1.14]# cd ..<br>[root@ipython libiconv-1.14]# ./configure --prefix=/software/sharelib/<br>[root@ipython libiconv-1.14]# make && make install
libxml库(XML库)
[root@ipython lnmp]# tar jxf libxml2-2.8.0.tar.bz2 <br>[root@ipython lnmp]# cd libxml2-2.8.0<br>[root@ipython libxml2-2.8.0]# ./configure --prefix=/software/sharelib<br>[root@ipython libxml2-2.8.0]# make && make install
libpng库(图片库)
[root@ipython lnmp]# tar jxf libpng-1.6.8.tar.bz2 <br>[root@ipython lnmp]# cd libpng-1.6.8<br>[root@ipython libpng-1.6.8]# LDFLAGS="-L/software/sharelib/lib/" CPPFLAGS="-I/software/sharelib/include" ./configure --prefix=/software/sharelib<br>[root@ipython libpng-1.6.8]# make && make install
jpeg库(图片库)
[root@ipython lnmp]# tar jxf jpegsrc.v9a.tar.bz2<br>[root@ipython lnmp]# cd jpeg-9a/ <br>[root@ipython jpeg-9a]# ./configure --prefix=/software/sharelib/<br>[root@ipython jpeg-9a]# make && make install
freetype(字库)
[root@ipython lnmp]# tar jxf freetype-2.5.2.tar.bz2 <br>[root@ipython lnmp]# cd freetype-2.5.2<br>[root@ipython freetype-2.5.2]# LIBPNG_CFLAGS="-I/software/sharelib/include/" LIBPNG_LDFLAGS="-L/software/sharelib/lib/" ./configure --prefix=/software/sharelib<br>[root@ipython freetype-2.5.2]# make && make install<br>[root@ipython freetype-2.5.2]# ln -s /software/sharelib/include/freetype2 /software/sharelib/include/freetype2/freetype
libmcrypt库(加密算法)
[root@ipython lnmp]# tar jxf libmcrypt-2.5.8.tar.bz2 <br>[root@ipython lnmp]# cd libmcrypt-2.5.8<br>[root@ipython libmcrypt-2.5.8]# ./configure --prefix=/software/sharelib<br>[root@ipython libmcrypt-2.5.8]# make && make install
mhash库(加密)
[root@ipython lnmp]# tar jxf mhash-0.9.9.9.tar.bz2<br>[root@ipython lnmp]# cd mhash-0.9.9.9<br>[root@ipython mhash-0.9.9.9]# ./configure --prefix=/software/sharelib/<br>[root@ipython mhash-0.9.9.9]# make && make install
curl库(URL传输)
[root@ipython lnmp]# tar jxf curl-7.36.0.tar.bz2<br>[root@ipython lnmp]# cd curl-7.36.0<br>[root@ipython curl-7.36.0]# ./configure --prefix=/software/curl<br>[root@ipython curl-7.36.0]# make && make install
gd库(绘图)
[root@ipython lnmp]# tar zxf gd-2.0.35.tar.gz <br>[root@ipython lnmp]# cd gd-2.0.35<br>[root@ipython gd-2.0.35]# LDFLAGS="-L/software/sharelib/lib" CPPFLAGS="-I/software/sharelib/include" ./configure --prefix=/software/sharelib --enable-shared --with-png=/software/sharelib --with-freetype=/software/sharelib --with-libiconv-prefix=/software/sharelib --with-jpeg=/software/sharelib<br>[root@ipython gd-2.0.35]# make && make install
libtool(库编译支持)
[root@ipython lnmp]# tar zxf libtool-2.4.2.tar.gz <br>[root@ipython lnmp]# cd libtool-2.4.2<br>[root@ipython libtool-2.4.2]# ./configure --prefix=/software/sharelib/ --enable-ltdl-install<br>[root@ipython libtool-2.4.2]# make && make install
将mysql的库文件加入动态共享
[root@ipython lnmp]# echo "/software/mysql/lib/mysql/" >> /etc/ld.so.conf && ldconfig
PHP(一种语言吧)
[root@ipython lnmp]# tar zxf php-5.3.5.tar.gz <br>[root@ipython lnmp]# cd php-5.3.5<br>[root@ipython php-5.3.5]# sed -i s"#mysql/psi/psi.h#/software/mysql/include/mysql/psi/psi.h#" /software/mysql/include/mysql/my_sys.h<br>[root@ipython php-5.3.5]# sed -i s"#mysql/plugin.h#/software/mysql/include/mysql/plugin.h#" /software/mysql/include/mysql/m_string.h<br>[root@ipython php-5.3.5]# sed -i s"#mysql/services.h#/software/mysql/include/mysql/services.h#" /software/mysql/include/mysql/plugin.h<br>[root@ipython php-5.3.5]# sed -i s"#mysql/service_my_snprintf.h#/software/mysql/include/mysql/service_my_snprintf.h#" /software/mysql/include/mysql/services.h<br>[root@ipython php-5.3.5]# sed -i s"#mysql/service_thd_alloc.h#/software/mysql/include/mysql/service_thd_alloc.h#" /software/mysql/include/mysql/services.h<br>[root@ipython php-5.3.5]# ./configure --prefix=/software/php --with-config-file-path=/software/php/etc --with-mysql=/software/mysql --with-mysqli=/software/mysql/bin/mysql_config --with-iconv-dir=/software/sharelib --disable-ipv6 --with-freetype-dir=/software/sharelib/ --with-jpeg-dir=/software/sharelib/ --with-png-dir=/software/sharelib/ --with-zlib=/software/sharelib/ --with-libxml-dir=/software/sharelib/ --disable-rpath --enable-bcmath --enable-safe-mode --enable-shmop --enable-sysvsem --with-curl=/software/curl/ --enable-fpm --enable-mbstring--with-mcrypt=/software/sharelib/ --with-gd=/software/sharelib/ --enable-gd-native-ttf --with-openssl=/software/openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-inline-optimization --with-curlwrappers --enable-mbregex --with-gettext<br>[root@ipython php-5.3.5]# make install<br><br>##创建PHP-FPM配置文件,参数什么的自己根据配置调整##<br>[root@ipython php-5.3.5]# cat >> /software/php/etc/php-fpm.conf <p>好了...看图</p><p> <img src="/static/imghw/default1.png" data-src="http://img.bitscn.com/upimg/allimg/c140719/1405K4515Y060-243438.jpg" class="lazy" title="centos7-lnmp.jpg" alt="wKiom1PCoIPhQ3pXAAKppSWGhd8839.jpg"> </p>

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











전체 테이블 스캔은 MySQL에서 인덱스를 사용하는 것보다 빠를 수 있습니다. 특정 사례는 다음과 같습니다. 1) 데이터 볼륨은 작습니다. 2) 쿼리가 많은 양의 데이터를 반환 할 때; 3) 인덱스 열이 매우 선택적이지 않은 경우; 4) 복잡한 쿼리시. 쿼리 계획을 분석하고 인덱스 최적화, 과도한 인덱스를 피하고 정기적으로 테이블을 유지 관리하면 실제 응용 프로그램에서 최상의 선택을 할 수 있습니다.

InnoDB의 전체 텍스트 검색 기능은 매우 강력하여 데이터베이스 쿼리 효율성과 대량의 텍스트 데이터를 처리 할 수있는 능력을 크게 향상시킬 수 있습니다. 1) InnoDB는 기본 및 고급 검색 쿼리를 지원하는 역 색인화를 통해 전체 텍스트 검색을 구현합니다. 2) 매치 및 키워드를 사용하여 검색, 부울 모드 및 문구 검색을 지원합니다. 3) 최적화 방법에는 워드 세분화 기술 사용, 인덱스의 주기적 재건 및 캐시 크기 조정, 성능과 정확도를 향상시키는 것이 포함됩니다.

예, MySQL은 Windows 7에 설치 될 수 있으며 Microsoft는 Windows 7 지원을 중단했지만 MySQL은 여전히 호환됩니다. 그러나 설치 프로세스 중에 다음 지점이 표시되어야합니다. Windows 용 MySQL 설치 프로그램을 다운로드하십시오. MySQL의 적절한 버전 (커뮤니티 또는 기업)을 선택하십시오. 설치 프로세스 중에 적절한 설치 디렉토리 및 문자를 선택하십시오. 루트 사용자 비밀번호를 설정하고 올바르게 유지하십시오. 테스트를 위해 데이터베이스에 연결하십시오. Windows 7의 호환성 및 보안 문제에 주목하고 지원되는 운영 체제로 업그레이드하는 것이 좋습니다.

클러스터 인덱스와 비 클러스터 인덱스의 차이점은 1. 클러스터 된 인덱스는 인덱스 구조에 데이터 행을 저장하며, 이는 기본 키 및 범위별로 쿼리에 적합합니다. 2. 클러스터되지 않은 인덱스는 인덱스 키 값과 포인터를 데이터 행으로 저장하며 비 예산 키 열 쿼리에 적합합니다.

기사는 MySQL Workbench 및 Phpmyadmin과 같은 인기있는 MySQL GUI 도구에 대해 논의하여 초보자 및 고급 사용자를위한 기능과 적합성을 비교합니다. [159 자].

기사는 MySQL에서 파티셔닝, 샤딩, 인덱싱 및 쿼리 최적화를 포함하여 대규모 데이터 세트를 처리하기위한 전략에 대해 설명합니다.

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) 데이터베이스 및 테이블 작성 : CreateAbase 및 CreateTable 명령을 사용하십시오. 2) 기본 작업 : 삽입, 업데이트, 삭제 및 선택. 3) 고급 운영 : 가입, 하위 쿼리 및 거래 처리. 4) 디버깅 기술 : 확인, 데이터 유형 및 권한을 확인하십시오. 5) 최적화 제안 : 인덱스 사용, 선택을 피하고 거래를 사용하십시오.

MySQL 데이터베이스에서 사용자와 데이터베이스 간의 관계는 권한과 테이블로 정의됩니다. 사용자는 데이터베이스에 액세스 할 수있는 사용자 이름과 비밀번호가 있습니다. 권한은 보조금 명령을 통해 부여되며 테이블은 Create Table 명령에 의해 생성됩니다. 사용자와 데이터베이스 간의 관계를 설정하려면 데이터베이스를 작성하고 사용자를 생성 한 다음 권한을 부여해야합니다.
