当前位置:首页 > CN2资讯 > 正文内容

LNMP编译安装nginx编译安装

24小时前CN2资讯

 

一、什么是LNMP   LNMP是指在Linux系统下安装Nginx服务器、MySQL数据库、Php(PhpmyAdmin)编程语言。Nginx是一个高性能的http、反向代理服务器,Nginx的特点就是轻便和高性能,非常适合低配置的VPS搭建网站服务器,能更好的发挥服务器的性能。 二、准备编译安装的环境 2.1软件下载:
分别下载软件以下软件: 
nginx-1.0.13 (www.nginx.org) 
Php-5.3.10 (www.php.net) 
Mysql-5.5.19 (www.mysql.com)  2.2配置yum 如果你边yum命令都没安装的话,那就把光盘挂上,自己用rpm -ivh yum来安装吧.下面我们开始配置yum,首先要保证光盘已经被放入光驱里面,如果是虚拟机,确认你的系统iso文件已经连接上. # mount /dev/cdrom /mnt //挂载光盘到/mnt目录下 # cd /etc/yum.repos.d //进入到yum配置文件目录 # mv rhel-debuginfo.repo rhel-debuginfo.repo.bak //备份系统自带的配置文件,也可以删除 # vi local.repo //新建一个yum配置文件,并把以下内容写入到该文件 [Server] name=Server baseurl=file:///mnt/Server gpgcheck=0 enabled=1 [VT] name=VT baseurl=file:///mnt/VT gpgcheck=0 enabled=1 [Cluster] name=Cluster baseurl=file:///mnt/Cluster gpgeheck=0 [ClusterStorage] name=ClusterStorage baseurl=file:///mnt/ClusterStorage gpgcheck=0 enabled=1 # yum -y grouplist "Development Libraries" "Development Tools" //安装开发包工具和库     三、开始编译安装 3.1 安装Nginx-1.0.13: 安装之前要确保gcc、 openssl-devel、 pcre-devel、 zlib-devel 等软件包已安装 # yum install gcc openssl-devel pcre-devel zlib-devel 添加nginx用户nginx,用nginx用户运行nginx进程: # groupadd –r nginx //添加系统组nginx # useradd –r –g nginx –s /bin/false –M nginx //添加nginx用户 # tar xf nginx-1.0.13.tar.gz //解压文件 # ./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 # make //开始编译,并成生二进制文件 # make install //开始安装 安装完成之后,我们可以写一个启动脚本,方便启用nginx服务 # vi /etc/rc.d/init.d/nginx //新建这个文件,然后把以下内容放进去 #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /etc/nginx/nginx.conf # config: /etc/sysconfig/nginx # pidfile: /var/run/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/etc/nginx/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() { # make required directories user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` options=`$nginx -V 2>&1 | grep 'configure arguments:'` for opt in $options; do if [ `echo $opt | grep '.*-temp-path'` ]; then value=`echo $opt | cut -d "=" -f 2` if [ ! -d "$value" ]; then # echo "creating" $value mkdir -p $value && chown -R $user $value fi fi done } start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 make_dirs echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop sleep 1 start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac # chmod +x /etc/rc.d/init.d/nginx //给启动服务脚本可执行权限 # chkconfig --add nginx //把nginx添加到服务列表 # chkconfig nginx on //把nginx设定为开机启动 # service nginx start //启动nginx服务 3.2 安装 mysql 首先保证系统上没有安装rpm格式的mysql,如果有,自己手动卸载掉,然后再安装mysql,这里使用的mysql是免安装版的,初始化一下,然后做些配置就可以使用的那种 # groupadd -r mysql //创建一个系统组,叫mysql # useradd -g mysql -s /sbin/nologin -M mysql //创建一个系统用户mysql,并把它加入到mysql组,且不让其登录系统 # mkdir /mydata/data //创建mysql数据文件存放的目录 # chown mysql:mysql /mydata/data/ //把目录的权限改为mysql用户和mysql组 准备数据存放的文件系统,选取数据库存放位置,最好是新建一个逻辑卷,并将其挂载至特定目录。 # fdisk /dev/sda //新建分区,其id为8e # partprobe /dev/sda //同步磁盘数据 # pvcreate /dev/sda5 //把新建好的分区变成物理卷 # vgcreate myvg /dev/sda5 //新建卷组myvg # lvcreate -L 2G -n mysql myvg //创建逻辑卷 # mke2fs -j /dev/myvg/mysql //格式化逻辑卷 # echo "/dev/myvg/mysql /mydata    ext3     defaults   0 0 " > /etc/fstab //写入配置文件,以实现开机自动挂载逻辑卷 # mount –a //重读配置文件 # mount //查看是否成功挂载逻辑卷 # tar xf mysql-5.5.19-linux2.6-i686.tar.gz -C /usr/local //解压mysql到指定目录 # cd /usr/local/ //切换工作目录到刚才解压的目录 # ln -sv mysql-5.5.19-linux2.6-i686/ /usr/local/mysql //为mysql创建链接,也可以重命名 # cd mysql //切换工作目录到mysql目录 # chown -R mysql:mysql . //把当前目录下所有的文件及目录改为mysql用户和组 # scripts/mysql_install_db --user=mysql --datadir=/mydata/data //初始化mysql # chown -R root . //把当前目录的属主改为root # cp support-files/my-large.cnf /etc/my.cnf //为mysql提供主配置文件,放到/etc/my.cnf # vi /etc/my.cnf //编译配置文件 thread_concurrency = 2 //这里改成你的CPU的个数乖于2 datadir = /mydata/data //这里是mysql数据文件的存放位置 # cp support-files/mysql.server /etc/rc.d/init.d/mysqld //为mysql提供服务脚本 # chmod +x /etc/rc.d/init.d/mysqld //给脚本加上可执行权限 # chkconfig --add mysqld //把mysql服务加入到系统服务列表 # chkconfig mysqld on //设置其开机启动 # vi /etc/man.config //编译man的配置文件,让mysql命令可以通过man查看帮助信息 MANPATH /usr/local/mysql/man //把这行加入到MANPATH行下面 # ln -sv /usr/local/mysql/include /usr/include/mysql //输出mysql的头文件 # echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf //输出mysql的库文件 # ldconfig //重新载入库文件 # service mysqld start //启动服务 # vi /etc/profile //编译profile文件,加入环境变量 export PATH=$PATH:/usr/local/apache/bin:/usr/local/mysql/bin //加入mysql的二进制文件位置 # . /etc/profile //让刚才的操作生效 # mysql //开始测试,输入完该命令,应该会打开mysql的shell 3.3 安装PHP 为了让php支持mcrypt扩展,我们这里安装一下以下两个软件包 libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm [root@localhost ~]# rpm -ivh libmcrypt-* warning: libmcrypt-2.5.7-5.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6 Preparing... ########################################### [100%] 1:libmcrypt ########################################### [ 50%] 2:libmcrypt-devel ########################################### [100%] # tar xf php-5.3.10.tar.bz2 //解压PHP # cd php-5.3.10 //切换工作目录至php # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt //配置编译php所需要的功能,启用 # make //开始编译PHP # make install //开始安装PHP # cp php.ini-production /usr/local/php/etc/php.ini # cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm # chmod +x /etc/rc.d/init.d/php-fpm 启动fastcgi: # cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf # vim /usr/local/php/etc/php-fpm.conf 启用如下选项: pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 8 pid = /var/run/php-fpm.pid # chkconfig --add php-fpm # chkconfig php-fpm on # service php-fpm start 安装完成后,我们就可以编译Nginx的主配置文件,让它支持php了 接下来整合nginx和php5 编辑/etc/nginx/nginx.conf,启用如下选项: location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } #vim fastcgi_params fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; 并在所支持的主页面格式中添加php格式的主页,类似如下: location / { root html; index index.php index.html index.htm; } 而后重启nginx。 # service nginx restart 四、测试 我们在Nginx的网页目录下,建立一个php文件,看看是不是可以被访问到 # cd /usr/html # vim index.php <?php phpinfo(); ?>

在客户端测试一下

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/31587.html

    分享给朋友:

    “LNMP编译安装nginx编译安装” 的相关文章

    越南VPS服务全解析:如何选择性价比最高的虚拟服务器

    越南VPS市场近年来发展迅速,吸引了越来越多的用户和投资者。越南的地理位置和互联网基础设施的不断完善,使其成为东南亚地区VPS服务的重要节点。无论是本地企业还是国际用户,越南VPS都提供了多样化的选择。 越南VPS的市场现状 越南VPS市场正处于快速扩展阶段。随着越南互联网普及率的提升和数字化转型的...

    狗云实名认证的重要性与服务体验

    狗云简介 提起狗云(Dogyun),首先让我想起的是它在国内主机服务商中崭露头角的那段经历。成立于2019年,这家由国人创办的云服务平台,积极响应了市场对高质量、低价格VPS服务的需求。服务范围覆盖美国、日本和中国香港等地,让不少技术爱好者和企业客户看到了更多选择的可能。由于其价格相对亲民,狗云逐渐...

    HudsonValleyHost主机服务测评:性价比与稳定性的完美结合

    HudsonValleyHost是一家成立于2014年的国外老牌主机商,已经在行业内稳扎稳打,逐渐树立了自己的品牌形象。这家公司最初的目标是为用户提供高性价比的主机服务,其中以其纽约的KVM VPS服务备受青睐。在我接触的众多主机服务商中,HudsonValleyHost的存在让我感受到了一种稳定与...

    bwh1:搬瓦工的高效VPS管理与使用技巧

    bwh1 概述 提到 bwh1,很多人第一时间就想到搬瓦工(BandwagonHost)。bwh1 正是搬瓦工的官网域名之一,深受用户喜爱。它不仅是一个简单的链接,更是通向高效 VPS 管理的窗口。通过这个网站,用户能够方便地访问各种服务,比如 VPS 购买、管理和支持。对于追求网络稳定性和速度的用...

    如何有效进行Payoneer绑定PayPal的详细步骤指南

    在目前的数字支付环境中,Payoneer和PayPal是两个广受欢迎的支付平台。首先,Payoneer(派安盈)是一个全球化的支付解决方案,专为跨境电商卖家、独立站卖家及B2B外贸商家设计。它支持多种货币的收付款服务,覆盖190个国家,包含了70种币种。这意味着无论在哪个地方进行交易,Payonee...

    Digital-VM评测:性价比高的VPS主机服务与全球数据中心优势分析

    Digital-VM是一家在2018年成立于美国的主机商,专注于提供VPS主机服务。自成立以来,Digital-VM致力于为全球用户提供高效、低价的云计算解决方案。随着虚拟主机市场的快速发展,Digital-VM不断扩展其服务和产品线,逐渐成长为一家具备竞争力的主机商。在技术方面,Digital-V...