linux下nignx的安装步骤及命令

前台:nignx 后台:apache


【linux命令】

用户

文件目录

启动

定时任务:

【开启RZ命令】


yum -y install lrzsz


【防火墙】


防火墙配置文件: /etc/sysconfig/iptables

服务操作命令 : /etc/init.d/iptables service iptables {start|stop...}

临时改变命令 : iptables iptables-save iptables-restore等

service iptables status可以查看到iptables服务的当前状态。

但是即使服务运行了,防火墙也不一定起作用,你还得看防火墙规则的设置 iptables -L

在此说一下关于启动和关闭防火墙的命令:

1) 重启后生效

开启: chkconfig iptables on

关闭: chkconfig iptables off

2) 即时生效,重启后失效

开启: service iptables start

关闭: service iptables stop


【修改IP】

#vi /etc/syssconfig/network-scripts/ifcfg-eth0


  DEVICE=eth0


  BOOTPROTO=static


  HWADDR= ;这里是你网卡的物理地址,通常检测到的网卡你就不用输入了


  ONBOOT=yes


  IPADDR=192.168.0.1


  NETMASK=255.255.255.0


  NETWORK=192.168.1.0


  BROADCAST=192.168.1.255


  GATEWAY= ;这里输入你的网关,路由器的IP地址


  保存退出


  #/sbin/service network restart


  如果网卡启动是OK的话就说明IP地址设定成功了。另外我们可以用ifconfig eth0来显示当前的IP来确认是否设置正确。


  利用以下命令:


  /etc/init.d/network reload 命令或service network [命令]


【yum源】


.本地源制作


1、首先在/media目录下创建一个目录cdrom并将将光盘挂载到系统/media/cdrom下

mkdir /media/cdrom

mount /dev/cdrom /media/cdrom/

2、进入到/etc/yum.repos.d目录CentOS-Base.repo重命名。


cd /etc/yum.repos.d

mv CentOS-Base.repo CentOS-Base.repo.bak

vi CentOS-Media.repo

修改为

gpgcheck=0

enabled=1


***3、将所有的CentOS安装包链接到/media/CentOS

ln -s /media/cdrom/CentOS/ /media/CentOS




#yum 安装系统环境所需要的软件包


yum -y install yum-fastestmirror ntp

yum -y install patch make flex bison tar

yum -y install libtool libtool-libs kernel-devel

yum -y install libjpeg libjpeg-devel libpng libpng-devel

yum -y install libtiff libtiff-devel gettext gettext-devel

yum -y install libxml2 libxml2-devel zlib-devel  net-snmp

yum -y install file glib2 glib2-devel bzip2 diff* openldap-devel

yum -y install bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs

yum -y install e2fsprogs-devel krb5 krb5-devel libidn libidn-devel

yum -y install openssl openssl-devel vim-minimal unzip


# 安装PHP支持GD库模块

yum -y install freetype freetype-devel png jpeg zlib gd php-gd*

# 安装PHP 5.* 组件

yum -y install libiconv libevent mhash mcrypt

# 安装MYDSQL所需要系统库相关库文件

yum install -y gcc gcc-c++ gcc-g77 autoconf automake  fiex* ncurses-devel libmcrypt* libtool-ltdl-devel*


# 安装NGINX 组件

yum -y install pcre*


yum -y install gcc gcc-c++ gcc-g77 flex bison tar libtool libtool-libs kernel-devel  autoconf libjpeg libjpeg-devel libpng libpng-devel libtiff libtiff-devel gettext gettext-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel file glib2 glib2-devel bzip2diff* openldap-devel bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal unzip  automake make


yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel


【安装nginx 之前要安装pcre】


tar zvxf pcre-8.10.tar.gz

#cd pcre-8.10

#./configure

#make

#make install


【nginx】

下载安装包:http://nginx.org/download/nginx-1.8.0.tar.gz

tar zxvf nginx-1.8.0.tar.gz

cd nginx-1.8.0

./configure

make && make install


启动nginx:/usr/local/nginx/sbin/nginx  

重启nginx: /usr/local/nginx/sbin/nginx -s reload


开机启动nginx:在linux系统的/etc/init.d/目录下创建nginx文件


vi /etc/init.d/nginx


#!/bin/bash

# nginx Startup script for the Nginx HTTP Server

# it is v.0.0.2 version.

# chkconfig: - 85 15

# description: Nginx is a high-performance web and proxy server.

#              It has a lot of features, but it's not for everyone.

# processname: nginx

# pidfile: /var/run/nginx.pid

# config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/sbin/nginx

nginx_config=/usr/local/nginx/conf/nginx.conf

nginx_pid=/var/run/nginx.pid

RETVAL=0

prog="nginx"

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

[ -x $nginxd ] || exit 0

# Start nginx daemons functions.

start() {

if [ -e $nginx_pid ];then

   echo "nginx already running...."

   exit 1

fi

   echo -n $"Starting $prog: "

   daemon $nginxd -c ${nginx_config}

   RETVAL=$?

   echo

   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx

   return $RETVAL

}

# Stop nginx daemons functions.

stop() {

        echo -n $"Stopping $prog: "

        killproc $nginxd

        RETVAL=$?

        echo

        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid

}

# reload nginx service functions.

reload() {

    echo -n $"Reloading $prog: "

    #kill -HUP `cat ${nginx_pid}`

    killproc $nginxd -HUP

    RETVAL=$?

    echo

}

# See how we were called.

case "$1" in

start)

        start

        ;;

stop)

        stop

        ;;

reload)

        reload

        ;;

restart)

        stop

        start

        ;;

status)

        status $prog

        RETVAL=$?

        ;;

*)

        echo $"Usage: $prog {start|stop|restart|reload|status|help}"

        exit 1

esac

exit $RETVAL


chmod a+x /etc/init.d/nginx


最后将ngix加入到rc.local文件中,这样开机的时候nginx就默认启动了

 vi /etc/rc.local  

添加  /etc/init.d/nginx start  

保存并退出  下次重启就会生效,实现nginx的自启动。


【安装mysql】

yum -y install  gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake


yum -y install cmake


groupadd mysql

useradd -r -g mysql mysql

tar -zxvf mysql-5.6.21.tar.gz

cd mysql-5.6.21


cmake .

make && make install


-------------------------默认情况下是安装在/usr/local/mysql


chown -R mysql.mysql /usr/local/mysql


cd /usr/local/mysql/scripts

./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data


cd /usr/local/mysql/support-files

cp mysql.server /etc/rc.d/init.d/mysql

cp my-default.cnf /etc/my.cnf

chkconfig --add mysql

chkconfig mysql on

service mysql start



修改密码:/usr/local/mysql/bin/mysqladmin -u root password '123456'


登陆:/usr/local/mysql/bin/mysql -u root -p

 


修改远程访问权限:


1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"


Sql代码 复制代码


   1. mysql -u root -p

   2. use mysql;  

   3. mysql>update user set host = '%' where user = 'root';  

   4. mysql>select host, user from user;


2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。


Sql代码 复制代码

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;


FLUSH PRIVILEGES;


【安装apache】


cd /usr/local/src


groupadd www

useradd -g www -s /sbin/nologin -M www


wget http://apache.freelamp.com//httpd/httpd-2.2.17.tar.gz


tar zxvf httpd-2.2.17.tar.gz


cd httpd-2.2.17


Apache默认最大连接数和最大客户端数为40000,如果你的服务器要求更大,可以编译Apache安装文件中的:


    server/mpm/worker/worker.c


找到下面几行,并改成如下的数值,其目的是在源码中修改apache可支持的最大线程数和最大客户端数目。


    define DEFAULT_SERVER_LIMIT 32

    define MAX_SERVER_LIMIT 40000

    define DEFAULT_THREAD_LIMIT 64

    define MAX_THREAD_LIMIT 40000


以上数值据说改小后,能减低服务器消耗。不过柒月修改后,发现没什么实质变化


依次安装apr和apr-util     

    tar zxvf apr-1.5.2.tar.gz

    cd apr-1.5.2    

    ./configure --prefix=/usr/local/apr

    make && make install

    

    tar zxvf apr-util-1.5.4.tar.gz


    cd apr-util-1.5.4


    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ --with-mysql=/usr/local/mysql

    make && make install


安装Apache 2.4


    cd /usr/local/src/httpd-2.4.20


    ./configure --prefix=/usr/local/apache --with-mysql=/usr/local/mysql --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --enable-so --enable-rewrite --with-mpm=prefork --disable-cgid --disable-cgi


    make && make install


如果你需要编译apache其他功能,可以自行增加。不过在这里,我们只是用Apache作为后端并处理伪静态,无需添加过多设置来浪费内存


注解:


    ./configure //配置源代码树

    --prefix=/usr/local/apache //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。

    --enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块

    --enable-mods-shared=all //编译全部的模板,对于不需要我们可以在httpd.conf去掉。

    --enable-cache //支持缓存

    --enable-file-cache //支持文件缓存

    --enable-mem-cache //支持记忆缓存

    --enable-disk-cache //支持磁盘缓存

    --enable-static-support //支持静态连接(默认为动态连接)

    --enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件

    --enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件

    --enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序

    --enable-static-logresolve //使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名

    --enable-static-htdbm //使用静态连接编译 htdbm - 操作 DBM 密码数据库

    --enable-static-ab //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具

    --enable-static-checkgid //使用静态连接编译 checkgid

    --disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本

    --disable-cgi //禁止编译 CGI 版本的 PHP

    --with-mpm=worker // 让apache以worker方式运行

    --enable-ssl // 编译 ssl模块。


启动Apache(建议先不要启动,等我们全部设置完毕后,和Nginx启动)


    /usr/local/apache/bin/apachectl start/stop/restart


查看apache是否启动


    ps aux|grep httpd


将apache设置成开机自启动:


echo '/usr/local/apache/bin/apachectl start ' >> /etc/rc.local  //将 apachectl 的调用加入到你的系统启动文件中。


问题:httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName


在httpd.conf (/usr/local/apache/conf/httpd.conf)中找到

#ServerName www.example.com:8080   把#去掉


error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory


试着执行: ldd /usr/local/apache/bin/httpd

会看到这么一行

libiconv.so.2 => Not found

以前编译运行是可以的,可能是不久前升级一些库文件影响。在/usr/local/lib下可以找到libiconv.so.2,把/usr/local/lib加到路径中也不行。

在/etc/ld.so.conf中加一行/usr/local/lib,运行ldconfig。再运行apache,OK。

ld.so.conf和ldconfig是维护系统动态链接库的。


【软件版本:PHP 5.6.3】


一、安装libiconv库


tar -zvxf libiconv-1.14.tar.gz


cd libiconv-1.14


./configure –help

./configure --prefix=/usr/local


make && make install


echo "/usr/local/lib">>/etc/ld.so.conf


/sbin/ldconfig


下载php5.6.12

      

wget http://cn2.php.net/distributions/php-5.6.3.tar.gz


解压 php 5.6.3 源码包

      

tar -zxvf php-5.6.3.tar.gz



./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-mb --enable-bcmath --enable-mbstring --enable-sockets --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-iconv-t --with-zlib --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql=/usr/local/mysql --enable-dom --enable-xml --enable-fpm --with-iconv-dir=/usr/local --with-apxs2=/usr/local/apache/bin/apxs


编译完毕后,我们再来make。在make时,我们注意要加上-liconv参数。如果不加上-liconv参数,系统在make编译会报错。报错信息如下:


Generating phar.php


//php-5.3.16/sapi/cli/php: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

make: *** [sapi/cli/php] Error 1


使用命令如下:


make ZEND_EXTRA_LIBS='-liconv'


make install


[注意]上述命令中:

–enable-fpm的作用是开启php的fastcgi功能,即开启php-fpm功能。


–with-mysql=/usr/local/mysql是启用php支持mysql的功能,/usr/local/mysql是mysql数据库的安装路径。


–enable-mbstring表示启用mbstring模块mbstring模块的主要作用在于检测和转换编码,提供对应的多字节操作的字符串函数。目前php内部的编码只支持ISO-8859-*、EUC-JP、UTF-8,其他的编码的语言是没办法在php程序上正确显示的,所以我们要启用mbstring模块。


–with-iconv-dir=/usr/local指定php存放libiconv库的位置。


–with-apxs2=/usr/local/apache/bin/apxs指定php查找apache的位置。


配置php的环境变量


echo "PATH=$PATH:/usr/local/php/bin:/usr/local/php/sbin" >> /etc/profile

source !$  # 刷新系统环境


cp php.ini-production /usr/local/php/etc/php.ini


cd /usr/local/php

cp etc/php-fpm.conf.default etc/php-fpm.conf


vi etc/php-fpm.conf


user = www

group = www


在安装目录下:


cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm


chmod 755 /etc/init.d/php-fpm


/usr/local/php/sbin/php-fpm -t


启动和关闭php 并查看php状态

service php-fpm start

或者

/usr/local/php/sbin/php-fpm

service php-fpm stop

service php-fpm status

Usage: /etc/init.d/php-fpm {start|stop|force-quit|restart|reload|status}


添加php到系统服务,并随机启动

      

chkconfig --add php-fpm && chkconfig php-fpm on



【php与apache】


/usr/local/apache/conf/httpd.conf:


LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php .php


重启apache /usr/local/apache/bin/apachectl restart


echo "<?php phpinfo();?>">/usr/local/apache/htdocs/index.php


cat /usr/local/apache/htdocs/index.php


【php与nginx】


 location ~ .php$ {

                root html;

                fastcgi_pass 127.0.0.1:9000;

                fastcgi_index index.php;

                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                include fastcgi_params;

        }


你可能感兴趣的:(linux下nignx的安装步骤及命令)