设为首页 收藏本站
查看: 2745|回复: 0

[经验分享] RedHat 5.4下Web服务器架构之源码构建LNMP环境(上)

[复制链接]

尚未签到

发表于 2018-5-12 09:40:37 | 显示全部楼层 |阅读模式
RedHat 5.4下Web服务器架构之源码构建LNMP环境(上)
一、 redhat 5.4Web服务器架构之源码构建LNMP环境
作为一个轻量级的HTTP服务器,Nginx与Apache相比,小巧而精致:在性能上,它占用很少的系统资源,能支持更多的并发连接,达到更高的访问效率;在功能上,Nginx是优秀的代理服务器和负载均衡服务器;在安装配置上,Nginx安装简单、配置灵活。LNMP环境是指Linux下搭建Nginx+MySQL+PHP.

1.1、 构建的linux环境
构建编译组环境
VMware 8安装redhat 5.4 英文版本系统选择以下开发组件
Legacy Software Development
X Software Development
Development Libraries
Development Tools
[root@shuiyong ~]# uname -a #查看Linux的环境

Linux shuiyong.shuiyong.com 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux

1.2、 准备工作
准备一:关闭FireWallSeLinux(略)

准备二:构建本地yum服务器(略)

准备三:下载以下软件(我存放在linux /lamp下)

[root@shuiyong lnmp]# ls

cmake-2.8.5.tar.gz mysql-5.0.75.tar.gz

libevent-2.0.18-stable.tar.gz nginx-1.1.18.tar.gz

libiconv-1.13.1.tar.gz nginx-1.2.0.tar.gz

libmcrypt-2.5.8.tar.bz2 pcre-8.21.tar.gz

mcrypt-2.6.8.tar.gz php-5.3.13.tar.bz2

mhash-0.9.9.9.tar.bz2 php-5.4.0.tar.bz2

#nginx会有几个依赖包,我们首先安装依赖包,若安装过程中报错,可以跳过,不会影#响nginx的正常运行:

[root@shuiyong lnmp]# yum -y install zlib-devel pcre-devel openssl-devel
二、 源码构建LNMP环境
2.1、 源码安装nginx
#这里我将下载的软件存放到/ lnmp目录下

[root@shuiyong ~]# cd /lnmp

[root@shuiyong lnmp]# ls

cmake-2.8.5.tar.gz mysql-5.0.75.tar.gz

libevent-2.0.18-stable.tar.gz nginx-1.1.18.tar.gz

libiconv-1.13.1.tar.gz nginx-1.2.0.tar.gz

libmcrypt-2.5.8.tar.bz2 pcre-8.21.tar.gz

mcrypt-2.6.8.tar.gz php-5.3.13.tar.bz2

mhash-0.9.9.9.tar.bz2 php-5.4.0.tar.bz2

#查看libevent的版本,发现版本过低,现在安装新的libevent

[root@shuiyong ~]# ldconfig -v |grep libevent

libevent-1.1a.so.1 -> libevent-1.1a.so.1.0.2

#解压libevent的程序文件,使用tar –zxvf,并使用-C指定解压目录,参数,z代表

#gzip(也就是后面的.gz文件)x代表解压,v表示显示详细信息,-f使用档案文件或设备

#(必选参数)(说明:一般一些额外的软件安装时经常将其放到/usr/src/目录下)

[root@shuiyong ~]#tar -zxvf libevent-2.0.18-stable.tar.gz -C /usr/src/

[root@shuiyong ~]#cd /usr/src/

[root@shuiyong ~]#ll

#预编译(执行源码包下的configure),编译(make),编译安装(make install)

[root@shuiyong ~]#cd libevent-2.0.18-stable/

[root@shuiyong libevent-2.0.18-stable]# ls

[root@shuiyong libevent-2.0.18-stable]# ./configure

[root@shuiyong libevent-2.0.18-stable]# make

[root@shuiyong libevent-2.0.18-stable]# make install

[root@shuiyong libevent-2.0.18-stable]# vim /etc/ld.so.conf.d/libevent.conf

/usr/local/lib

[root@shuiyong libevent-2.0.18-stable]# ldconfig -v |grep libevent

libevent_pthreads-2.0.so.5 -> libevent_pthreads.so

libevent-2.0.so.5 -> libevent.so

libevent_extra-2.0.so.5 -> libevent_extra.so

libevent_openssl-2.0.so.5 -> libevent_openssl.so

libevent_core-2.0.so.5 -> libevent_core.so

libevent-1.1a.so.1 -> libevent-1.1a.so.1.0.2

2.1.1、 安装nginx
#首先解压源码包:

[root@shuiyong libevent-2.0.18-stable]# cd /lnmp

[root@shuiyong lnmp]# tar -zxvf nginx-1.1.18.tar.gz -C /usr/src/

#进入源码包目录:

[root@shuiyong lnmp]# cd /usr/src/nginx-1.1.18/

[root@shuiyong nginx-1.1.18]# ll

#添加nginx系统组和用户

[root@shuiyong nginx-1.1.18]# groupadd -r nginx
[root@shuiyong nginx-1.1.18]# useradd -r -g nginx -s /bin/false -M nginx
#进行预编译(配置):(各项配置说明略)

[root@shuiyong nginx-1.1.18]# ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre
#预编译完成后就可以进行编译和安装:
[root@shuiyong nginx-1.1.18]# make
[root@shuiyong nginx-1.1.18]# make install
#启动测试,发现失败,按下面方法创建目录,再次启动,查看运行端口信息,#nginx占用TCP的80端口

##pkill -9 nignx #关闭nginx

##/usr/sbin/nginx #启动nginx


[root@shuiyong nginx-1.1.18]# nginx
nginx: [emerg] mkdir() "/var/tmp/nginx/client/" failed (2: No such file or directory)
[root@shuiyong nginx-1.1.18]# mkdir -pv /var/tmp/nginx/client
mkdir: created directory `/var/tmp/nginx'
mkdir: created directory `/var/tmp/nginx/client'

[root@shuiyong nginx-1.1.18]# netstat -tcpln |grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14917/nginx: master
#为nginx提供一个启动服务的脚本(请下载附件
[root@shuiyong nginx-1.1.18]# vim /etc/rc.d/init.d/nginx
[root@shuiyong nginx-1.1.18]# chmod +x /etc/rc.d/init.d/nginx
[root@shuiyong nginx-1.1.18]# chkconfig --add nginx
[root@shuiyong nginx-1.1.18]# chkconfig nginx on
[root@shuiyong nginx-1.1.18]# chkconfig --list nginx
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@shuiyong nginx-1.1.18]#
#启动nginx服务,查看nginx端口
[root@shuiyong nginx-1.1.18]# service nginx stop
Stopping nginx: [ OK ]
[root@shuiyong nginx-1.1.18]# service nginx start
Starting nginx: [ OK ]
[root@shuiyong nginx-1.1.18]# service nginx restart
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Stopping nginx: [ OK ]
Starting nginx: [ OK ]

#配置nginx网页文件,编辑网页
[root@shuiyong nginx-1.1.18]# ls /usr/html/
50x.html index.html
[root@shuiyong nginx-1.1.18]# vim /usr/html/index.html

1 <html>
2 <head>
3 <title>Welcome to nginx!</title>
4 </head>
5 <body bgcolor=&quot;white&quot; text=&quot;black&quot;>
6 <center><h1>Welcome to my nginx!</h1></center>
7 --xiamen huangshuiyong
8 --2012/10/16
9 </body>
10 </html>
#用浏览器可以访问--客户端测试显示如下信息--正常


DSC0000.png

2.1.2、 源码安装mysql
#解压mysql的主程序文件,使用tar –zxvf,并使用-C指定解压目录
[root@shuiyong ~]# cd /lnmp/
[root@shuiyong lnmp]# tar zxvf mysql-5.0.75.tar.gz -C /usr/src/
#切换至/usr/src/的目录下,并创建软连接,便于访问mysql文件
[root@shuiyong src]# ls
kernels libevent-2.0.18-stable mysql-5.0.75 nginx-1.1.18 redhat
[root@shuiyong src]# ln -s mysql-5.0.75/ mysql
[root@shuiyong src]# cd mysql
#安装mysql之前先做一些准备工作,安装依赖包:显示已经安装了
[root@shuiyong ~]# yum -y install ncurses-devel
#创建MySQL用户,-M不创建home目录,-s指定shell为不登录
[root@shuiyong ~]# useradd -M -s /sbin/nologin mysql
#进行预编译(配置):(各项配置说明略)
[root@shuiyong mysql]# pwd
/usr/src/mysql
[root@shuiyong mysql]# ls
[root@shuiyong mysql]# ./configure --prefix=/usr/local/mysql --without-debug --with-extra-charsets=utf8,gbk --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-unix-socket-path=/tmp/mysql.sock --with-ssl

#预编译完成后就可以进行编译和安装:
[root@shuiyong mysql]# make && make install
#安装完成后复制配置文件和启动脚本,再给启动脚本执行权限:
[root@shuiyong mysql]# cp support-files/my-medium.cnf /etc/my.cnf
[root@shuiyong mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@shuiyong mysql]# chmod +x /etc/init.d/mysqld
#为所有的二进制可执行文件和动态链接库文件做一个软连接
[root@shuiyong mysql]# ln -s /usr/local/mysql/bin/* /usr/local/bin/
[root@shuiyong mysql]# ln -s /usr/local/mysql/lib/mysql/lib* /usr/lib/
#初始化数据库,更改MySQL安装目录和MySQL的数据库目录的属主和属组
[root@shuiyong mysql]# mysql_install_db --user=mysql
[root@shuiyong mysql]# chown -R root.mysql /usr/local/mysql/
[root@shuiyong mysql]# chown -R mysql.mysql /usr/local/mysql/var/
#启动mysql,查看MySQL是否启动成功,MySQL占用TCP的3306端口
[root@shuiyong mysql]# service mysqld start
Starting MySQL. [ OK ]
[root@shuiyong mysql]# netstat -nltp |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 6427/mysqld
#通过mysql命令来连接mysql,测试mysql是否正常安装,可以看出已安装:
[root@shuiyong mysql]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.75-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)

mysql> quit
Bye

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-458979-1-1.html 上篇帖子: Redhat 5.4 下篇帖子: RedHat 5.4下Web服务器架构之源码构建LNMP环境(中)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表