Centos下lnmp编译安装详细过程
整理下lnmp安裝步驟:
?
相關(guān)軟件用的lnmp一鍵安裝的全包,懶得去到處找軟件源
完整版:http://soft.vpser.net/lnmp/lnmp0.7-full.tar.gz(66.64MB)????????????????
?
1.系統(tǒng)安裝必要軟件
sudo?-s???LANG=C???yum?-y?install?gcc?gcc-c++?autoconf?libjpeg?libjpeg-devel?libpng?libpng-devel?freetype?libevent?libevent-devel?freetype-devel?libxml2?libxml2-devel?zlib?zlib-devel?pam-devel?glibc?glibc-devel?glib2?glib2-devel?bzip2?bzip2-devel?ncurses?ncurses-devel?curl?curl-devel?e2fsprogs?e2fsprogs-devel?krb5?krb5-devel?libidn?libidn-devel?openssl?openssl-devel?openldap?openldap-devel?nss_ldap?openldap-clients?openldap-servers??
?
?
2.安裝一些類庫
libiconv
tar?zxvf?libiconv-1.13.1.tar.gz???
cd?libiconv-1.13.1/???
./configure?--prefix=/usr/local???
make???
make?install???
cd?../??
?
libmcrypt
?tar?zxvf?libmcrypt-2.5.8.tar.gz????
????cd?libmcrypt-2.5.8/???
????./configure???
????make???
????make?install???
????/sbin/ldconfig???
????cd?libltdl/???
????./configure?--enable-ltdl-install???
????make???
????make?install???
????cd?http://www.cnblogs.com/?
?
mhash
????tar?zxvf?mhash-0.9.9.9.tar.gz???
????cd?mhash-0.9.9.9/???
????./configure???
????make???
????make?install???
????cd?../?
?
mcrypt
????tar?zxvf?mcrypt-2.6.8.tar.gz???
????cd?mcrypt-2.6.8/???
????/sbin/ldconfig???
????./configure???
????make???
????make?install???
????cd?../??
?
鏈接地址
????ln?-s?/usr/local/lib/libmcrypt.la?/usr/lib/libmcrypt.la???
????ln?-s?/usr/local/lib/libmcrypt.so?/usr/lib/libmcrypt.so???
????ln?-s?/usr/local/lib/libmcrypt.so.4?/usr/lib/libmcrypt.so.4??
????ln?-s?/usr/local/lib/libmcrypt.so.4.4.8?/usr/lib/libmcrypt.so.4.4.8??
????ln?-s?/usr/local/lib/libmhash.a?/usr/lib/libmhash.a???
????ln?-s?/usr/local/lib/libmhash.la?/usr/lib/libmhash.la???
????ln?-s?/usr/local/lib/libmhash.so?/usr/lib/libmhash.so???
????ln?-s?/usr/local/lib/libmhash.so.2?/usr/lib/libmhash.so.2??
????ln?-s?/usr/local/lib/libmhash.so.2.0.1?/usr/lib/libmhash.so.2.0.1??
????ln?-s?/usr/local/bin/libmcrypt-config?/usr/bin/libmcrypt-config?
?
?
安裝Mysql
添加mysql組和用戶
????/usr/sbin/groupadd?mysql???
????/usr/sbin/useradd?-g?mysql?mysql??
解壓
????tar?zxvf?mysql-5.1.51.tar.gz???
????cd?mysql-5.1.51???
????./configure??--prefix=/usr/local/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???
????make?&&?make?install??
設(shè)置權(quán)限
????chmod?+w?/usr/local/mysql???
????chown?-R?mysql:mysql?/usr/local/mysql??
創(chuàng)建mysql使用目錄
????mkdir?-p?/data/mysql/data/???
????mkdir?-p?/data/mysql/binlog/???
????mkdir?-p?/data/mysql/relaylog/???
????chown?-R?mysql:mysql?/data/mysql/??
初始化mysql庫
????/usr/local/mysql/bin/mysql_install_db?--basedir=/usr/local/mysql?--datadir=/data/mysql/data?--user=mysql???
編輯mysql的配置
????vi?/data/mysql/my.cnf??
配置文件正文
????[client]???
????character-set-server?=?utf8???
????port????=?3306???
????socket??=?/tmp/mysql.sock???
??????
????[mysqld]???
????character-set-server?=?utf8???
????replicate-ignore-db?=?mysql???
????replicate-ignore-db?=?test???
????replicate-ignore-db?=?information_schema???
????user????=?mysql???
????port????=?3306???
????socket??=?/tmp/mysql.sock???
????basedir?=?/usr/local/mysql???
????datadir?=?/data/mysql/data???
????log-error?=?/data/mysql/mysql_error.log???
????pid-file?=?/data/mysql/mysql.pid???
????open_files_limit????=?10240???
????back_log?=?600???
????max_connections?=?5000???
????max_connect_errors?=?6000???
????table_cache?=?614???
????external-locking?=?FALSE???
????max_allowed_packet?=?32M???
????sort_buffer_size?=?1M???
????join_buffer_size?=?1M???
????thread_cache_size?=?300???
????#thread_concurrency?=?8???
????query_cache_size?=?512M???
????query_cache_limit?=?2M???
????query_cache_min_res_unit?=?2k???
????default-storage-engine?=?MyISAM???
????thread_stack?=?192K???
????transaction_isolation?=?READ-COMMITTED???
????tmp_table_size?=?246M???
????max_heap_table_size?=?246M???
????long_query_time?=?3???
????log-slave-updates???
????log-bin?=?/data/mysql/binlog/binlog???
????binlog_cache_size?=?4M???
????binlog_format?=?MIXED???
????max_binlog_cache_size?=?8M???
????max_binlog_size?=?1G???
????relay-log-index?=?/data/mysql/relaylog/relaylog???
????relay-log-info-file?=?/data/mysql/relaylog/relaylog???
????relay-log?=?/data/mysql/relaylog/relaylog???
????expire_logs_days?=?30???
????key_buffer_size?=?256M???
????read_buffer_size?=?1M???
????read_rnd_buffer_size?=?16M???
????bulk_insert_buffer_size?=?64M???
????myisam_sort_buffer_size?=?128M???
????myisam_max_sort_file_size?=?10G???
????myisam_repair_threads?=?1???
????myisam_recover???
??????
????interactive_timeout?=?120???
????wait_timeout?=?120???
??????
????skip-name-resolve???
????#master-connect-retry?=?10???
????slave-skip-errors?=?1032,1062,126,1114,1146,1048,1396???
??????
????#master-host?????=???192.168.1.2???
????#master-user?????=???username???
????#master-password?=???password???
????#master-port?????=??3306???
??????
????server-id?=?1???
??????
????innodb_additional_mem_pool_size?=?16M???
????innodb_buffer_pool_size?=?512M???
????innodb_data_file_path?=?ibdata1:256M:autoextend???
????innodb_file_io_threads?=?4???
????innodb_thread_concurrency?=?8???
????innodb_flush_log_at_trx_commit?=?2???
????innodb_log_buffer_size?=?16M???
????innodb_log_file_size?=?128M???
????innodb_log_files_in_group?=?3???
????innodb_max_dirty_pages_pct?=?90???
????innodb_lock_wait_timeout?=?120???
????innodb_file_per_table?=?0???
??????
????#log-slow-queries?=?/data/mysql/slow.log???
????#long_query_time?=?10???
??????
????[mysqldump]???
????quick???
????max_allowed_packet?=?32M???
??????
添加mysql操作
????vi?/data/mysql/mysql??
內(nèi)容如下:
????#!/bin/sh???
??????
????mysql_port=3306??
????mysql_username="admin"??
????mysql_password="12345678"??
??????
????function_start_mysql()???
????{???
????????printf?"Starting?MySQL...\n"??
????????/bin/sh?/usr/local/mysql/bin/mysqld_safe?--defaults-file=/data/mysql/my.cnf?2>1?>?/dev/null?&???
????}???
??????
????function_stop_mysql()???
????{???
????????printf?"Stoping?MySQL...\n"??
????????/usr/local/mysql/bin/mysqladmin?-u?${mysql_username}?-p${mysql_password}?-S?/tmp/mysql.sock?shutdown???
????}???
??????
????function_restart_mysql()???
????{???
????????printf?"Restarting?MySQL...\n"??
????????function_stop_mysql???
????????sleep?5??
????????function_start_mysql???
????}???
??????
????function_kill_mysql()???
????{???
????????kill?-9?$(ps?-ef?124;?grep?'bin/mysqld_safe'?124;?grep?${mysql_port}?124;?awk?'{printf?$2}')???
????????kill?-9?$(ps?-ef?124;?grep?'libexec/mysqld'?124;?grep?${mysql_port}?124;?awk?'{printf?$2}')???
????}???
??????
????if?[?"$1"?=?"start"?];?then???
????????function_start_mysql???
????elif?[?"$1"?=?"stop"?];?then???
????????function_stop_mysql???
????elif?[?"$1"?=?"restart"?];?then???
????function_restart_mysql???
????elif?[?"$1"?=?"kill"?];?then???
????function_kill_mysql???
????else??
????????printf?"Usage:?/data/mysql/mysql?{start|stop|restart|kill}\n"??
????fi???
??????
添加執(zhí)行權(quán)限
????chmod?+x?/data/mysql/mysql??
啟動mysql
????/data/mysql/mysql?start??
netstat?-an?,檢查3306端口沒有啟動。
通過命令行登錄MySQL
?/usr/local/mysql/bin/mysql?-u?root?-p?
安裝PHP
????/usr/sbin/useradd?www???
????mkdir?-p?/data/htdocs???
????export?PHP_AUTOCONF=/usr/local/autoconf-2.13/bin/autoconf
export?PHP_AUTOHEADER=/usr/local/autoconf-2.13/bin/autoheader
tar?zxvf?php-5.2.17.tar.gz
gzip?-cd?php-5.2.17-fpm-0.5.14.diff.gz?|?patch?-d?php-5.2.17?-p1
cd?php-5.2.17/
./buildconf?--force
./configure?--prefix=/usr/local/php?--with-config-file-path=/usr/local/php/etc?--with-mysql=/usr/local/mysql?--with-mysqli=/usr/local/mysql/bin/mysql_config?--with-iconv-dir?--with-freetype-dir?--with-jpeg-dir?--with-png-dir?--with-zlib?--with-libxml-dir=/usr?--enable-xml?--disable-rpath?--enable-discard-path?--enable-magic-quotes?--enable-safe-mode?--enable-bcmath?--enable-shmop?--enable-sysvsem?--enable-inline-optimization?--with-curl?--with-curlwrappers?--enable-mbregex?--enable-fastcgi?--enable-fpm?--enable-force-cgi-redirect?--enable-mbstring?--with-mcrypt?--enable-ftp?--with-gd?--enable-gd-native-ttf?--with-openssl?--with-mhash?--enable-pcntl?--enable-sockets?--with-xmlrpc?--enable-zip?--enable-soap?--without-pear?--with-gettext?--with-mime-magic?
make?ZEND_EXTRA_LIBS='-liconv'
make?install
?mkdir?/etc/php???
????cp?php.ini-production?/etc/php/php.ini???
????vi?/etc/php/php.ini??
?
配置php.ini
cp?php.ini-dist??/usr/local/php/php.ini
修改擴展的目錄
extension_dir?=?"/usr/local/php/lib/php/extensions/no-debug-non-zts-200690613/"?
設(shè)為0
cgi.fix_pathinfo=0??
?
配置php-fpm
?mv?/usr/local/php/etc/php-fpm.conf?/usr/local/php/etc/php-fpm.conf?
在124行位置(大概這里)增加
??<value?name="user">www</value>
<value?name="group">www</value>
?
啟動php
ulimit?-SHn?65535???
??/usr/local/php/sbin/php-fpm?start
?
安裝MYSQL?PDO?
tar?zxvf?PDO_MYSQL-1.0.2.tgz???
????cd?PDO_MYSQL-1.0.2/???
????/usr/local/php/bin/phpize???
????./configure?--with-php-config=/usr/local/php/bin/php-config?--with-pdo-mysql=/usr/local/mysql???
????make???
????make?install???
????cd?..??
?
在php.ini里添加
extension?=?"pdo_mysql.so"??
?
安裝nginx
tar?zxvf?pcre-8.12.tar.gz
cd?pcre-8.12/
./configure
make?&&?make?install
cd?../
?
tar?zxvf?nginx-0.8.54.tar.gz
cd?nginx-0.8.54/
./configure?--user=www?--group=www?--prefix=/usr/local/nginx?--with-http_stub_status_module?--with-http_ssl_module?--with-http_gzip_static_module?--with-ipv6
make?&&?make?install
cd?../
?
?mkdir?-p?/data/logs???
????chmod?+w?/data/logs???
????chown?-R?www:www?/data/logs??
????chmod?+w?/data/htdocs???
????chown?-R?www:www?/data/htdocs??
修改nginx的配置文件
vi?/usr/local/nginx/conf/nginx.conf??
user??www?www;
worker_processes?8;
error_log??/data/logs/nginx_error.log??crit;
pid????????/usr/local/nginx/nginx.pid;
#Specifies?the?value?for?maximum?file?descriptors?that?can?be?opened?by?this?process.
worker_rlimit_nofile?65535;
events
{
??use?epoll;
??worker_connections?65535;
}
http
{
??include???????mime.types;
??default_type??application/octet-stream;
??#charset??gb2312;
??????
??server_names_hash_bucket_size?128;
??client_header_buffer_size?32k;
??large_client_header_buffers?4?32k;
??client_max_body_size?8m;
??????
??sendfile?on;
??tcp_nopush?????on;
??keepalive_timeout?60;
??tcp_nodelay?on;
??fastcgi_connect_timeout?300;
??fastcgi_send_timeout?300;
??fastcgi_read_timeout?300;
??fastcgi_buffer_size?64k;
??fastcgi_buffers?4?64k;
??fastcgi_busy_buffers_size?128k;
??fastcgi_temp_file_write_size?128k;
??gzip?on;
??gzip_min_length??1k;
??gzip_buffers?????4?16k;
??gzip_http_version?1.0;
??gzip_comp_level?2;
??gzip_types???????text/plain?application/x-javascript?text/css?application/xml;
??gzip_vary?on;
??#limit_zone??crawler??$binary_remote_addr??10m;
??server
??{
????listen???????80;
????server_name??localhost;
????index?index.html?index.htm?index.php;
????root??/data/htdocs;
????#limit_conn???crawler??20;????
????????????????????????????
????location?~?.*\.(php|php5)?$
????{??????
??????#fastcgi_pass??unix:/tmp/php-cgi.sock;
??????fastcgi_pass??127.0.0.1:9000;
??????fastcgi_index?index.php;
??????include?fastcgi.conf;
????}
????
????location?~?.*\.(gif|jpg|jpeg|png|bmp|swf)$
????{
??????expires??????30d;
????}
????location?~?.*\.(js|css)?$
????{
??????expires??????1h;
????}????
????log_format??access??'$remote_addr?-?$remote_user?[$time_local]?"$request"?'
??????????????'$status?$body_bytes_sent?"$http_referer"?'
??????????????'"$http_user_agent"?$http_x_forwarded_for';
????access_log??/data/logs/access.log??access;
??????}
}
然后在fastcgi.conf加上
?在fastcgi_param??SCRIPT_NAME????????$fastcgi_script_name;
前面加上:
fastcgi_param??SCRIPT_FILENAME????$document_root$fastcgi_script_name;??
?
?
啟動nginx
/usr/local/nginx/sbin/nginx???
?
?
設(shè)置開機自啟動
?vi?/etc/rc.local??
?ulimit?-SHn?65535???
?/usr/local/php/sbin/php-fpm?start???
?/usr/local/nginx/sbin/nginx???
?/data/mysql/mysql?start??
?
至此,mysql,?php,?nginx?安裝完成。
轉(zhuǎn)載于:https://www.cnblogs.com/php5/archive/2012/11/16/2773576.html
總結(jié)
以上是生活随笔為你收集整理的Centos下lnmp编译安装详细过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简明Linux命令行笔记:finger
- 下一篇: Qt4小技巧——QTextEdit自动滚