linuxx 发表于 2018-12-25 13:47:04

LNMP+memcached平台源码包的搭建和配置

  实验目的: 搭建LNMP平台
  L          N          M         P
Linux   Nginx   MySQL   PHP(解释PHP语言的程序)
实验环境:
  LNMP平台的搭建IP地址:192.168.1.254 主机名:localhost

  安装软件:lnmp+memcached.zip(nginx-1.2.0.tar.gz,cmake-2.8.10.2.tar.gz, mysql-5.5.13.tar.gz)
  安装编译工具:gcc gcc-c++ make 开发工具 搭建YUM源。
  http://s3.运维网.com/wyfs02/M02/73/3B/wKiom1X3-MbzEQWKAADCvgTExJA815.jpg
http://s3.运维网.com/wyfs02/M01/73/38/wKioL1X3-1uxq77fAAA3Aiu3HRY649.jpg
http://s3.运维网.com/wyfs02/M01/73/3B/wKiom1X3-S7jlDSGAABBMyXynZU502.jpg
  实验(一)
  实验目的:搭建Nginx服务
  安装的软件:nginx-1.2.0.tar.gz
  1.解压软件包
  http://s3.运维网.com/wyfs02/M02/73/3B/wKiom1X3-e-xUZQnAABhJMNulGI495.jpg
  2.配置源码包, --prefix=/usr/local/nginx
指定nginx安装的目录,--pid-path=/usr/local/nginx/nginx.pid指定pid号安装的位置, --user=www   --group=www
指定所有者和所属组,--with-http_ssl_module指定客户端访问有http功能的模块, --with-http_flv_module指定支持视频格式的模块,--with-http_stub_status_module指定管理用户可以通过web页面查看用户访问公共信息,--with-http_gzip_static_module指定支持gzip格式的模块,--http-client-body-temp-path=/usr/local/nginx/client--http-proxy-temp-path=/usr/local/nginx/proxy
指定支持代理服务,缓存客户端访问过的数据,指定缓存目录的路径, --http-fastcgi-temp-path=/usr/local/nginx/fcgi--http-uwsgi-temp-path=/usr/local/nginx/uwsgi--http-scgi-temp-path=/usr/local/nginx/scg缓存文件存放的路径,--with-pcre支持地址重写功能。
  http://s3.运维网.com/wyfs02/M02/73/39/wKioL1X4BHnBQmL_AAKTxktfRuk491.jpg

  http://s3.运维网.com/wyfs02/M00/73/3C/wKiom1X4BSWTg3aDAAHJUBQbsRo673.jpg
  http://s3.运维网.com/wyfs02/M01/73/39/wKioL1X4B3qSecpCAABaJsRAScY702.jpg
  安装软件包

http://s3.运维网.com/wyfs02/M02/73/3C/wKiom1X4BcGCezqMAABPaSJNBZo781.jpg
  3.启动服务

http://s3.运维网.com/wyfs02/M00/73/3C/wKiom1X4Boqhi0iNAAE9QSD5l5g917.jpg
  4.本机进行测试

http://s3.运维网.com/wyfs02/M00/73/3C/wKiom1X4BwyAcyORAAFhq2D00rc478.jpg
  实验(二)

  实验目的:搭建MYSQL服务
  安装的软件:mysql-5.5.13.tar.gz,cmake-2.8.10.2.tar.gz
  由于mysql5.5版本需要用cmake安装,所以要现安装cmake软件包
  1.解压cmake软件包
  http://s3.运维网.com/wyfs02/M00/73/3D/wKiom1X4CETBqaQNAAB62bRZLZU781.jpg
  http://s3.运维网.com/wyfs02/M01/73/3D/wKiom1X4CMuRVSXzAABPCkwDMBI580.jpg
  2.对cmake进行配置,编译和安装。
  http://s3.运维网.com/wyfs02/M01/73/3D/wKiom1X4CRGy_tgsAABwvljGPec965.jpg
  http://s3.运维网.com/wyfs02/M00/73/3D/wKiom1X4CZaQZmHpAABSeeNDrDo098.jpg
  3.查看cmake的版本,如果可以查到说明安装成功。
  http://s3.运维网.com/wyfs02/M01/73/3D/wKiom1X4Ci2B2M9bAACKAv6tteo962.jpg
  4.解压mysql软件包

http://s3.运维网.com/wyfs02/M00/73/3C/wKiom1X4B3eSIMGZAABguclSc3Y838.jpg
  5.对用cmake对mysql源码包进行配置,/usr/local/cmake/bin/cmake为启动的路径, -DCMAKE_INSTALL_PREFIX=/usr/local/mysql为mysql安装的目录,-DSYSCONFDIR=/etc
为配置文件存放的目录,-DMYSQL_DATADIR=/usr/local/mysql/data为数据库文件存放的目录,-DMYSQL_TCP_PORT=3306为指定的端口,-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock为sock文件存放的目录,-DMYSQL_USER=mysql为mysql的所有者,-DEXTRA_CHARSETS=all支持所有字符集,-DWITH_READLINE=1   -DWITH_SSL=system   -DWITH_EMBEDDED_SERVER=1   -DENABLED_LOCAL_INFILE=1   -DWITH_INNOBASE_STORAGE_ENGINE=1为1代表启动以上模块

http://s3.运维网.com/wyfs02/M02/73/3C/wKiom1X4B63T-zDkAAIN3jJ_K5M675.jpg

  查看系统中有没有mysql用户
http://s3.运维网.com/wyfs02/M01/73/3D/wKiom1X4DdrzPLx2AACyuPoWahw029.jpg
http://s3.运维网.com/wyfs02/M01/73/3D/wKiom1X4CzXSgzqLAABP05OkW2M149.jpg
  安装时出现一下错误,解决的方法,提示没有找到curses文件,并且提示要删除CMakeCache.txt文件。

http://s3.运维网.com/wyfs02/M01/73/3D/wKiom1X4DCPwPREBAAKkFwjQtNw682.jpg
  查看系统中有没有curses数据库文件,查看没有curses数据库文件,安装

http://s3.运维网.com/wyfs02/M02/73/3D/wKiom1X4DGii1R5gAALrp7CPOV0054.jpg
http://s3.运维网.com/wyfs02/M00/73/3A/wKioL1X4D1zjavgmAABdOfPVGGI067.jpg
http://s3.运维网.com/wyfs02/M01/73/3A/wKioL1X4EFGTCFtOAABiW6tcVco937.jpg
http://s3.运维网.com/wyfs02/M01/73/3D/wKiom1X4DjrRJYT_AABYJToYM90244.jpg
  6.初始化授权库的文件所有者和所属组都是mysql用户
  http://s3.运维网.com/wyfs02/M02/73/3F/wKiom1X4JAqCLlquAABmempASAc529.jpg
http://s3.运维网.com/wyfs02/M01/73/3B/wKioL1X4In-x5fINAABxcytxeoY623.jpg
  http://s3.运维网.com/wyfs02/M01/73/3D/wKioL1X4RP6yGIJHAAGsQP-TDRw641.jpg
  7.创建mysql数据库的主配置文件

http://s3.运维网.com/wyfs02/M02/73/40/wKiom1X4PbqCEkXiAAAxGzepTVc609.jpg
  启动数据库服务在后台运行,jobs查看后面运行的程序。

http://s3.运维网.com/wyfs02/M01/73/40/wKiom1X4PofT9FJBAABs5nHZ9m0592.jpg
http://s3.运维网.com/wyfs02/M00/73/41/wKiom1X4Q1DyE79yAAJaaktcR4o354.jpg
  8.使用数据库管理员从数据库服务器本机登录(没密码)
http://s3.运维网.com/wyfs02/M01/73/3E/wKioL1X4RhGTDoffAAKZrlpwO_U971.jpg
  9.设置数据库管理员从本机登录的密码

http://s3.运维网.com/wyfs02/M01/73/41/wKiom1X4RJrivJUcAACEqsMcLWI934.jpg
http://s3.运维网.com/wyfs02/M02/73/3E/wKioL1X4S-SBLpArAAB7wmZeg8I606.jpg
http://s3.运维网.com/wyfs02/M02/73/41/wKiom1X4SbbSv_q6AAB4Of4KulI893.jpg
  修改数据库的密码

http://s3.运维网.com/wyfs02/M01/73/3E/wKioL1X4TkygIeALAAB-h6DCFYc822.jpg
  由于每次输入命令时,路径比较长为了方便把把mysql命令所在的路径添加到系统环境变量PATH里
  http://s3.运维网.com/wyfs02/M01/73/41/wKiom1X4aH7zDcRGAACDIZej_wc326.jpg
http://s3.运维网.com/wyfs02/M02/73/3E/wKioL1X4a5Cg9b-xAACpZLynpPI140.jpg
  给源码mysql服务编写启动脚本,源码包中提供了启动脚本。
  http://s3.运维网.com/wyfs02/M00/73/3E/wKioL1X4dCiQudxoAAIdeHV3NmE677.jpg
http://s3.运维网.com/wyfs02/M00/73/41/wKiom1X4ckKBVmH3AABZNAc7t1k491.jpg
  停止mysqld服务,重新启动mysqld服务
  http://s3.运维网.com/wyfs02/M01/73/3E/wKioL1X4dSazxq5xAAKl9vXXMog052.jpg
  设置mysqldd随开机自启动

http://s3.运维网.com/wyfs02/M01/73/41/wKiom1X4c0GRxO4QAAEKnqcL0vI716.jpg
  实验(三)

  实验目的:安装源码PHP
  安装的软件: mhash-0.9.9.9.tar.gz, php-5.4.9.tar.gz,libiconv-1.13.tar.gz,libmcrypt-2.5.8.tar.gz

  1、安装php的扩展功能包,解压支持哈稀函数库软件包。
  http://s3.运维网.com/wyfs02/M00/73/46/wKioL1X5HqjitDbKAABVLSdDxgE802.jpg
  http://s3.运维网.com/wyfs02/M02/73/46/wKioL1X5HvWhu3tmAABGih8s88o008.jpg
  http://s3.运维网.com/wyfs02/M02/73/46/wKioL1X5HyTim_p4AABU-NQp4KI781.jpg
  2.解压支持安装处理中文各种编码之间的转换软件包,ibiconv-1.13.tar.gz
  http://s3.运维网.com/wyfs02/M00/73/46/wKioL1X5H57zdBK3AABfG2H8TAc852.jpg
  http://s3.运维网.com/wyfs02/M01/73/49/wKiom1X5HZDypw5SAABhFCK5kkI269.jpg
  http://s3.运维网.com/wyfs02/M00/73/46/wKioL1X5H_ex0_QYAABsN5j5AAY695.jpg

  3.解压支持提供加密功能的库文件的软件包,libmcrypt-2.5.8.tar.gz

  http://s3.运维网.com/wyfs02/M00/73/49/wKiom1X5HtuAl5NbAABMmSDiXiI811.jpg
  http://s3.运维网.com/wyfs02/M01/73/46/wKioL1X5IT6jD4g5AABSHM-H9EA268.jpg
  4.安装PHP软件包解压

  http://s3.运维网.com/wyfs02/M02/73/3E/wKioL1X4hyaATMB5AABy0_ocSng037.jpg

  5.对源码包进行配置,--prefix=/usr/local/php指定安装的目录,--with-config-file-path=/usr/local/php/etc
指定配置文件存放的目录,--with-mysql=/usr/local/mysql支持mysql的安装位置目录,--with-mysqli=/usr/local/mysql/bin/mysql_config 指定mysqli文件目录,优化支持,--with-iconv-dir=/usr/local指定iconv函数,种字符集间的转换,--with-freetype-dir 打开对freetype字体库的支持, --with-jpeg-dir --with-png-dir 打开对图片的支持, --with-zlib 打开zlib库的支持,--with-libxml-dir=/usr --enable-xml 打开libxml2库的支持 --disable-rpath 关闭额外的运行库文件,--enable-bcmath打开图片大小调整,用到zabbix监控的时候用到了这个模块, --with-curl 打开curl浏览工具的支持,--with-curlwrappers 运用curl工具打开url流 --enable-mbstring多字节,字符串的支持,--with-gd打开gd库的支持,--enable-gd-native-ttf支持TrueType字符串函数库,--with-mhash支持哈稀函数库,--enable-sockets打开 sockets 支持, --with-xmlrpc 打开xml-rpc的c语言,--enable-zip打开对zip的支持。

http://s3.运维网.com/wyfs02/M01/73/3E/wKioL1X4kJvQgOSPAANKgKwFsBk383.jpg
  执行脚本
http://s3.运维网.com/wyfs02/M02/73/51/wKiom1X6JavgRRipAABQ8XHaxb0799.jpg
  执行脚本后出现以下一系列错误没有找到的库文件,以及解决的方法。

http://s3.运维网.com/wyfs02/M01/73/4E/wKioL1X6KCqSfm_CAAB2_Er1l5o350.jpg
http://s3.运维网.com/wyfs02/M01/73/4E/wKioL1X6KNXQVzcaAAJEWSY0BKY437.jpg
http://s3.运维网.com/wyfs02/M00/73/51/wKiom1X6JxSSqqQ0AACd6wuHNJg916.jpg
http://s3.运维网.com/wyfs02/M00/73/4E/wKioL1X6KZ2CWxEvAAHqSwXWklk295.jpg
http://s3.运维网.com/wyfs02/M01/73/51/wKiom1X6J5zjnBd7AABHSgz5m9A245.jpg
http://s3.运维网.com/wyfs02/M00/73/4E/wKioL1X6KmaRvxfpAAIMosyCHNI918.jpg
http://s3.运维网.com/wyfs02/M00/73/51/wKiom1X6KGWy4Rk-AAAwm-hPux8950.jpg
http://s3.运维网.com/wyfs02/M01/73/4E/wKioL1X6KyvTQgXKAAH7eAD0fuM858.jpg
http://s3.运维网.com/wyfs02/M01/73/4F/wKioL1X6K5fAHlgdAAKhDAwddZU188.jpg
http://s3.运维网.com/wyfs02/M00/73/51/wKiom1X6KhrTFXZFAAMyPIGnPq0982.jpg
http://s3.运维网.com/wyfs02/M02/73/4F/wKioL1X6LNyjWM7VAAMvT26UiJc610.jpg
  对源码包进行编译和安装,编译时必须加上后面的选项。

http://s3.运维网.com/wyfs02/M00/73/4F/wKioL1X6LYKQHDfaAABMyfP6Q3g230.jpg
http://s3.运维网.com/wyfs02/M01/73/52/wKiom1X6LaiAawlsAAEoMtCjvpQ252.jpg
  出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。
http://s3.运维网.com/wyfs02/M02/73/4F/wKioL1X6M1qATsqSAAE2nfyWtWI546.jpg
http://s3.运维网.com/wyfs02/M02/73/52/wKiom1X6MeOAzsEEAAFWPBzDr9Q696.jpg
http://s3.运维网.com/wyfs02/M02/73/50/wKioL1X6NKbwEAFzAABiWEap9WQ334.jpg
  出现以下页面说明PHP安装成功。
http://s3.运维网.com/wyfs02/M01/73/50/wKioL1X6NQrR33thAAB2k-BxZws802.jpg
  测试

  1.客户端 是否访问Nginx软件提供的网站服务。
  http://s3.运维网.com/wyfs02/M02/73/50/wKioL1X6NkvhcGepAAJygUHdB7Q214.jpg

  2.客户端能否通过nginx网站服务器访问.php的网页页面,通过测试证件nginx默认不支持.php的网页。

http://s3.运维网.com/wyfs02/M00/73/53/wKiom1X6NJqD68bJAAFPi2tEa2w974.jpg
  实验(四)
  实验目的:nginx能够解释php页面
1.创建fast-cgi服务的主配置文件,在源码包 中有配置文件的模板,只要复制就可以(cgi通用网关接口)。
  http://s3.运维网.com/wyfs02/M02/73/50/wKioL1X6OevSvAVJAAD7bpnziPM222.jpg
  2.启动fast-cgi服务,在源码包中有启动脚本,只要复制启动脚本就可以,(作用管理php程序)
http://s3.运维网.com/wyfs02/M00/73/53/wKiom1X6OKfiGpQfAADAWUzCSq8372.jpg
http://s3.运维网.com/wyfs02/M01/73/50/wKioL1X6O0jx07tvAAE012Us86Q446.jpg
  3.启动服务
  http://s3.运维网.com/wyfs02/M00/73/50/wKioL1X6O9_iangBAAEQ2xaWZs8595.jpg

  4.修改nginx的主配置文件,把自己接收到的访问php文件的请求给本机的9000端口。
  http://s3.运维网.com/wyfs02/M00/73/53/wKiom1X6Oe6QW7f7AABj9t5mwSk730.jpg

http://s3.运维网.com/wyfs02/M02/73/50/wKioL1X6PHXgDifaAAEmfbZt_RM251.jpg
  让nginx支持fastcgi模块
  http://s3.运维网.com/wyfs02/M00/73/53/wKiom1X6OtmyejzRAABrwlQQpsA467.jpg
  http://s3.运维网.com/wyfs02/M00/73/53/wKiom1X6O7_iY2HFAABd8W7lHQQ613.jpg
  检测nginx主配置文件是否有错误,重新启动服务。

http://s3.运维网.com/wyfs02/M00/73/50/wKioL1X6PiXC67EkAAHMPI5e4F0935.jpg
  测试通过nginx服务器访问php代码文件
http://s3.运维网.com/wyfs02/M01/73/50/wKioL1X6PmnALCa2AACVfbvPhL8054.jpg
  通过测试说明nginx可以解释php代码,如果想php支持那些功能模块,可以通过以下方法查看
  http://s3.运维网.com/wyfs02/M02/73/53/wKiom1X6PLWwR_SnAADxn2mYud4588.jpg

  通过网页进行测试查看功能

http://s3.运维网.com/wyfs02/M00/73/50/wKioL1X6P13Cc4NGAALlEKy20DQ944.jpg
  

  
测试 php 能否连接mysql数据库?
  创建一个文件为linkdb.php用来测试是否可以连接mysql数据库。mysql_connect为php连接mysql的内置函数其他的为判断,$linkdb为php的变量。
  http://s3.运维网.com/wyfs02/M02/73/53/wKiom1X6PkThzwonAAFtzPUPwkk507.jpg

  访问创建的文件来判断是否 可以连接mysql数据库,说明可以连接到mysql数据库。

http://s3.运维网.com/wyfs02/M00/73/53/wKiom1X6P_aQwJOLAAB_1vmTDpo969.jpg
  实验(五)
  实验目的:LNMP+Memcached
  1.安装memcached的环境包libevent-2.0.21-stable.tar.gz

http://s3.运维网.com/wyfs02/M00/73/51/wKioL1X6WfDhw485AABqSzhXdLM844.jpg
http://s3.运维网.com/wyfs02/M00/73/54/wKiom1X6V-aDgiWUAABWYlRfNxc837.jpg
http://s3.运维网.com/wyfs02/M01/73/51/wKioL1X6Wj-DJBHwAABjrBS62EQ010.jpg
http://s3.运维网.com/wyfs02/M00/73/54/wKiom1X6WFiSpNnqAABXqn7fJNo354.jpg
  2.安装memcached软件包 memcached-1.4.5.tar.gz

http://s3.运维网.com/wyfs02/M02/73/54/wKiom1X6WLPjl2aDAABk9-_huZI751.jpg
http://s3.运维网.com/wyfs02/M00/73/51/wKioL1X6Wwui1dToAABYT6jq_dg843.jpg
http://s3.运维网.com/wyfs02/M01/73/54/wKiom1X6WPTjbVuIAABUR7e_z4M704.jpg
  启动memcached服务
  http://s3.运维网.com/wyfs02/M00/73/52/wKioL1X6YneSRw7GAAHBYRH9__c843.jpg
  3.安装php连接memcached服务的连接工具,查看php支持那些模块,查看是否有memcache.so模块,memcache.so模块就是php连接memcached服务的连接工具。
  http://s3.运维网.com/wyfs02/M00/73/51/wKioL1X6XozSRbe7AACEdaivCA4433.jpg
  添加memcache.so模块,解压软件包memcache-2.2.5.tgz

http://s3.运维网.com/wyfs02/M00/73/51/wKioL1X6X8fg9j5fAABVh9cdsyM336.jpg
http://s3.运维网.com/wyfs02/M02/73/52/wKioL1X6YOPioqeEAAEFv8K1Xxw928.jpg
  对源码包进行配置编译和安装--with-php-config=/usr/local/php/bin/php-config指定php配置安装目录,--enable-memcache为启用memcache模块,查看memcache.so模块是否安装成功。

http://s3.运维网.com/wyfs02/M02/73/54/wKiom1X6XxPytx-EAACeegnT6G4771.jpg
http://s3.运维网.com/wyfs02/M00/73/52/wKioL1X6YbmQiR2IAABVpHHY7HU953.jpg
http://s3.运维网.com/wyfs02/M00/73/54/wKiom1X6X7-gi0gaAADREGMNeSQ135.jpg
http://s3.运维网.com/wyfs02/M01/73/54/wKiom1X6YMrQXJdzAACto4hRDUA891.jpg
  php程序运行时加载memcache.so模块
  修改php的主配置文件php.ini,extension_dir指定模块存放的路径extension指定模块的名称。

http://s3.运维网.com/wyfs02/M01/73/55/wKiom1X6ZTKSlRFaAADTmjtsags714.jpg
http://s3.运维网.com/wyfs02/M00/73/53/wKioL1X6aELjON3kAADQ7Jb2ZCA522.jpg
http://s3.运维网.com/wyfs02/M01/73/55/wKiom1X6ZqmTPbNAAAB5uVb1hMc725.jpg
  把管理memcache.so进程的服务重新启动fast-cgi
  http://s3.运维网.com/wyfs02/M01/73/53/wKioL1X6aiORD1dAAAD-IdMNCeg542.jpg
  4.让nginx接收到用户的连接请求后,先找本机的memcached服务,
  修改nginx的主配置文件,set$memcached_key$uri; //set是定义变量的$memcached_key为变量名, $uri为变量的值,uri为nginx的内置变量,memcached_pass127.0.0.1:11211;//把请求发给memcached服务器,指定memcached服务器的地址和端口,default_type text/html;//为固定网页文件的类型,error_page 404   @fallback; //请求跳转标记,当找不到的时候返回404代码,@fallback指定在网页目录去找网页文件。
http://s3.运维网.com/wyfs02/M01/73/54/wKioL1X6dbDA8D7JAAEPsJ34zaE658.jpg
  http://s3.运维网.com/wyfs02/M02/73/56/wKiom1X6cIGRgwAjAAIDbyYrLvQ434.jpg
  5.测试php能否连接memcached存取数据,memcache.so模块有连接命令 和存数据工具和取数据的工具。

编写一个php文件为mem.php用来存放数据和取数据,$memcache=new Memcache为生成一个类的对象,$memcache为对象名,$memcache->connect为 类的方法,$memcache->set,set为存数据,$var=$memcache->get,get为取数据,$var为取出来的值定义一个变量,echo $var为显示这个值。
http://s3.运维网.com/wyfs02/M01/73/54/wKioL1X6dkGi0-39AAByjGVg3sg471.jpg
http://s3.运维网.com/wyfs02/M02/73/57/wKiom1X6dzTiiP2PAAGbTYCb4zk292.jpg
http://s3.运维网.com/wyfs02/M00/73/54/wKioL1X6eY6j1hz2AACGBabEP2s375.jpg
  出现以上界面说明php可以连接memcached存取数据。



页: [1]
查看完整版本: LNMP+memcached平台源码包的搭建和配置