LAMP环境搭建
来源:互联网 发布:老外吃中国菜知乎 编辑:程序博客网 时间:2024/04/26 23:20
简介
本文简述LAMP环境搭建,便于我们日后搭建测试环境及生产环境。
编译安装mysql
1.安装依赖并添加mysql用户
yum -y install gcc gcc-c++ ncurses-devel cmake unzipuseradd mysql
2.创建mysql安装目录及数据目录
mkdir -p /usr/local/mysqlmkdir -p /data/mysql/datamkdir -p /data/mysql/logs
3.修改mysql目录所有者和组
chown -R mysql:mysql /usr/local/mysqlchown -R mysql:mysql /data/mysql
4.编译安装
tar -zxvf mysql-5.6.22.tar.gzcd mysql-5.6.22#从mysql5.5起,mysql源码安装开始使用cmake了,设置编译参数 cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_DATADIR=/data/mysql/data \-DEXTRA_CHARSETS=all \-DMYSQL_TCP_PORT=3306make && make install
注:重新运行配置,需要删除CMakeCache.txt文件
5.初始化配置
/usr/local/mysql/scripts/mysql_install_db --datadir=/data/mysql/data --user=mysql --basedir=/usr/local/mysql
6.复制mysql服务启动配置文件
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
7.复制mysql服务启动脚本及加入PATH路径
#拷贝服务脚本到init.d目录cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #编辑/etc/profile文件,vim /etc/profile #在文件末尾添加 PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH export PATH#关闭文件,运行下面的命令,让配置立即生效 source /etc/profile
8.启动mysql服务并设置开机启动
service mysqld startchkconfig --level 35 mysqld on检查mysql服务是否启动netstat -tulnp | grep 3306
若启动正常,则登录测试mysql -u root -p
密码为空,如果能登陆上,则安装成功。
9.设置密码及访问权限
grant all privileges on *.* to ‘test’@'10.10.10.58' identified by ‘test’;set password for root@localhost = password('test');flush privileges;
安装apache
1.安装apr-1.5.0
tar -zxvf apr-1.5.0.tar.gz ./configure --prefix=/usr/local/aprmake && make install
2.安装apr-util-1.5.3
tar -zxvf apr-util-1.5.3.tar.gz ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/aprmake && make install
3.安装pcre-8.36
./configure --prefix=/usr/local/pcremake && make install
4.安装apache
tar -zxvf httpd-2.4.7.tar.gz ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-modules=mall --enable-rewrite --enable-mpms-shared=all --with-mpm=event --enable-v4-mapped --enable-somake && make install
5.启动apache并检查
/usr/local/apache/bin/apachectl -k startnetstat -ntlp |grep :80
若端口存在,说明明apache服务安装并启动成功。
安装php
1.安装依赖
yum install -y libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-devel libcurl-develrpm -ivh libmcrypt-2.5.7-1.2.el6.rf.x86_64.rpm rpm -ivh libmcrypt-devel-2.5.7-1.2.el6.rf.x86_64.rpm
2.安装php
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-openssl --with-mcrypt --with-zlib --with-libxml-dir --enable-xml --with-freetype-dir --with-curl --enable-sockets --with-config-file-path=/usr/local/php/etc --with-mysql --with-mysqli --with-pdo-mysql --with-mbstring --enable-mbstring --with-gdmake && make install
注意:若无–with-mbstring –enable-mbstring –with-gd,否则需要在后面php扩展中安装。
安装完毕后,需要复制php.ini配置文件
cp /usr/local/src/php/php-5.4.22/php.ini-production /usr/local/php/etc/php.ini
另,apahce运行php,需要在/usr/local/apache/conf/http.conf中添加以下几行,才能使apache正常运行php程序:
LoadModule php5_module modules/libphp5.soAddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps
3.安装php扩展模块
(1)安装mongodb扩展
tar -zxvf mongo-1.2.10.tgzcd mongo-1.2.10/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config make && make install
在/usr/local/php/etc/php.ini配置添加extension=mongo.so
检查php及扩展是否成功,在/usr/local/apache/htdoc下添加phpinfo.php文件
vim phpinfo.php<?phpphpinfo();?>
重启apache后访问ip/phpinfo.php,若出现php信息界面并能查看到安装的相关扩展模块,则说明php及扩展模块安装成功。
修改php时区
vim /usr/local/php/etc/php.inidate.timezone = PRCdate.timezone = "Asia/Shanghai"
(2)memcached及memcached扩展
a.安装memcached扩展
tar -zxvf libmemcached-1.0.18.tar.tarcd libmemcached-1.0.18./configure --prefix=/usr/local/libmemcached --with-memcachedmake && make installtar -zxvf memcached-2.2.0.tgzcd memcached-2.2.0/usr/local/php/bin/phpize./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-saslmake && make install
b.安装memcached
tar -zxvf libevent-2.0.22-stable.tar.gz./configure --prefix=/usr/local/libeventMake && make installtar -zxvf memcached-1.4.22.tar.gzcd memcached-1.4.22./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent make && make install
(3)安装eaccelerator扩展
tar -zxvf eaccelerator-eaccelerator-42067ac.tar.gz/usr/local/php/bin/phpize./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-configmake && make installmkdir -p /usr/local/eaccelerator_cachechmod –R 777 /usr/local/eaccelerator_cache#修改配置文件php.iniextension=eaccelerator.soeaccelerator.shm_size="64"eaccelerator.cache_dir="/usr/local/eaccelerator_cache"eaccelerator.enable="1"eaccelerator.optimizer="1"eaccelerator.check_mtime="1"eaccelerator.debug="0"eaccelerator.filter="!*.yml.php"eaccelerator.shm_max="0"eaccelerator.shm_ttl="3600"eaccelerator.shm_prune_period="3600"eaccelerator.shm_only="0"eaccelerator.compress="1"eaccelerator.compress_level="9"eaccelerator.allowed_admin_path = "/web/test"
(4)安装soap扩展
cd /usr/local/src/php/php-5.4.22/ext/soap/usr/local/php/bin/phpize./configure --enable-soap --with-php-config=/usr/local/php/bin/php-configmake && make install#修改配置文件php.iniextension=soap.so
(5)安装gd扩展
cd /usr/local/src/php/php-5.4.22/ext/gd//usr/local/php/bin/phpize./configure --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd -with-php-config=/usr/local/php/bin/php-configmake && make install#修改配置文件php.iniextension=gd.so
(6)安装mbstring扩展
cd /usr/local/src/php/php-5.4.22/ext/mbstring//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configMake && make install#修改配置文件php.iniExtension=mbstring.so
(7)安装exif扩展
cd /usr/local/src/php/php-5.4.22/ext/exif/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configMake && make install#修改配置文件php.iniExtension=exif.so
(8)安装memcache扩展
tar –zxvf memcache-2.2.7.tazcd memcache/usr/loca/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config ---enable-memcachemake && make install#修改配置文件php.iniExtension=memcache.so
安装nginx
1.解压依赖包
unzip headers-more-nginx-module-master.zip tar -zxvf echo-nginx-module-0.57.tar.gz tar -zxvf nginx-1.6.0.tar.gz tar -zxvf ngx_cache_purge-2.1.tar.gztar -zxvf pcre-8.36.tar.gz tar -zxvf zlib-1.2.8.tar.gz
2.编译安装
cd /usr/local/src/nginx/nginx-1.6.0./configure --user=nginx --group=nginx --prefix=/usr/local/nginx1.6 --sbin-path=/usr/local/nginx1.6 --conf-path=/usr/local/nginx1.6/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_gunzip_module --with-http_sub_module --with-pcre=/usr/local/src/nginx/pcre-8.36 --with-zlib=/usr/local/src/nginx/zlib-1.2.8 --add-module=/usr/local/src/nginx/ngx_cache_purge-2.1 --add-module=/usr/local/src/nginx/headers-more-nginx-module-mastermake && make install
3.添加用户
useradd nginx
4.检查配置文件并启动
/usr/local/nginx1.6/nginx -t/usr/local/nginx1.6/nginxnetstat -ntlp |grep :80
若80端口存在,则说明nginx安装并启动成功
配置apache
1.创建apache根目录并授权
mkdir -p /webuseradd apachechown -R apache.apache /webchmod -R 755 /web
2.修改httpd.conf配置文件
修改如下几行:
Listen 81User apacheGroup apacheLoadModule rewrite_module modules/mod_rewrite.soRewriteEngine On#配置虚拟主机<VirtualHost x.x.x.x:81> ServerName test.cn DocumentRoot /web DirectoryIndex index.html <Directory "/web"> AllowOverride All Require all granted </Directory></VirtualHost>
注意:由于apache版本的问题,此处配置可能会不同
3.修改httpd-mpm.conf文件
vim /usr/local/apache/conf/extra/httpd-mpm.conf <IfModule mpm_event_module> ServerLimit 50 ThreadLimit 100 StartServers 50 MinSpareThreads 50 MaxSpareThreads 2000 ThreadsPerChild 40 MaxRequestWorkers 2000 MaxConnectionsPerChild 2000</IfModule>
更改完配置后,apache需要先stop再start,才能使参数生效,直接通过restart并不会使参数生效。
注意:根据服务器实际资源,对以上参数进行适当调整,过高或过低否则会出现内存耗尽或请求响应慢等情况。
5.启动apache并测试
/usr/local/apache/bin/apachectl -k stop/usr/local/apache/bin/apachectl -k start
浏览器访问test.cn:81/index.html若出现访问内容,则说明程序部署成功。
配置nginx
1.创建相关目录
mkdir -p /usr/local/nginx1.6/conf.dmkdir -p /data/nginx/cache/proxy_temp_dirmkdir -p /data/nginx/cache/cache1chown -R nginx.nginx /data/nginx/cache
2.修改主配置文件nginx.conf
user nginx; worker_processes 4; worker_rlimit_nofile 102400; error_log logs/error.log error; pid /var/run/nginx.pid; events { worker_connections 102400; use epoll; } http { include mime.types; default_type application/octet-stream; log_format main '$time_local - $upstream_addr $server_addr:$server_port ' '$request_method $uri $args ' '- $remote_addr $server_protocol [$http_user_agent] [$http_cookie] $http_referer ' '$host $status 0 0 $bytes_sent $request_length 0' '"$upstream_cache_status"'; sendfile on; keepalive_timeout 65; proxy_intercept_errors on; #gzip模块设置 gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; #默认为1.1,nginx和后端upstream使用1.0 gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; #不要主动关闭客户端连接,防止返回499错误 proxy_ignore_client_abort on; #client post body buffer client_body_buffer_size 512k; client_max_body_size 8m; #client header buffer client_header_buffer_size 32k; large_client_header_buffers 4 32k; #open file open_file_cache max=102400 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 1; #upstream proxy buffer proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; proxy_connect_timeout 300; proxy_read_timeout 300; proxy_send_timeout 300; #set cache proxy_temp_path /data/nginx/cache/proxy_temp_dir; proxy_cache_path /data/nginx/cache/cache1 levels=2:2 keys_zone=cache1:1024m inactive=30m max_size=1950m; #client limit,限制客户端的连接数和访问频率,根据实际情况进行调整 limit_req_zone $binary_remote_addr zone=two:10m rate=50r/s; limit_conn_zone $binary_remote_addr zone=one:10m; #返回403,404错误隐藏版本号 server_tokens off; proxy_hide_header X-Mod-Pagespeed; proxy_hide_header Pragma; more_clear_headers 'X-Powered-By'; more_set_headers 'Server: nginx'; #配置后端服务器,用于负载均衡,可根据实际情况调整 upstream backend { server x.x.x.x1:81 weight=5 max_fails=2 fail_timeout=10s; server x.x.x.x2:81 weight=5 max_fails=2 fail_timeout=10s; } include conf.d/*.conf;}
3.添加站点配置文件
vim /usr/lo cal/nginx1.6/conf.d/test.conf server { listen 80; #设置访问连接数及访问频率,可根据实际情况调整 limit_conn one 20; limit_req zone=two burst=10 nodelay; server_name test.cn; access_log logs/access.test.log main; location / { proxy_set_header host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache cache1; proxy_cache_key $host$request_uri; proxy_cache_valid 200 302 4m; proxy_cache_valid 404 10m; proxy_cache_valid 500 501 502 503 10s; expires 1m; proxy_pass http://backend; } }
4.检查配置文件、启动并访问测试
/usr/local/nginx1.6/nginx -t/usr/local/nginx1.6/nginx
- lamp环境搭建
- LAMP环境的搭建
- Ubuntu LAMP环境搭建
- LAMP环境的搭建
- 搭建LAMP环境
- 搭建LAMP测试环境
- LAMP环境搭建
- LAMP环境搭建
- LAMP环境搭建过程
- lamp环境搭建
- Lamp环境搭建
- Ubuntu 搭建LAMP环境
- LAMP环境搭建
- 源码搭建lamp环境
- LAMP环境搭建
- Ubuntu搭建LAMP环境
- LAMP基础环境搭建
- LAMP环境搭建
- _dllmain@12 重定义 可能原因
- python 字符串 大小写转换
- 第十六周项目1—阅读程序(1)
- 机器学习10大经典算法
- 图解ByteBuffer
- LAMP环境搭建
- 访问者模式
- View 的工作原理
- Android studio 执行debug模式时一直报Socket closed
- libuv学习笔记(10)
- 感冒的一般过程
- Android6.0权限分析
- 软件测试必须要知道十个关键点
- 用PDB库调试Python程序