源码部署LNMP

xiaoxiao2021-02-28  114

LNMP   需要安装的包有: development libraries、Development tools、X Software Development、gcc、openssl-devel pcre-devel、zlib-devel、nginx、cmake、ncurses-devel、mysql、mhash、libmcrypt libiconv、libxml2*、ncurses-decel php要最后安装   一、安装源码 ngnix # yum -y groupinstall "Development libraries" "Development tools" "X Software Development" #yum -y install gcc openssl-devel pcre-devel zlib-devel # netstat -anptu | grep :80    (查看80端口是否被apache占用,如果占用先关闭) # grep nginx /etc/passwd       (进程所有者名) # useradd -g nginx -s /sbin/nologin -M nginx  (-M:不建立家目录) # tar -zxf nginx-1.11.5.tar.gz # cd nginx-1.11.5 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --without-http_rewrite_module   # make && make install   # /usr/local/nginx/sbin/nginx   (启动nginx) # /usr/local/nginx/sbin/nginx -s stop  停止nginx # /usr/local/nginx/sbin/nginx -s reload 重启nginx # elinks --dump http://localhost                                Welcome to nginx! # echo 123 > /usr/local/nginx/html/a.html # elinks --dump http://localhost/a.html    123 -----------------------------------------------------------------------------  源码安装apache2.4.23 卸载apr: # rpm -qa | grep apr apr-1.3.9-5.el6_2.x86_64 apr-util-1.3.9-3.el6_0.1.x86_64 apr-util-ldap-1.3.9-3.el6_0.1.x86_64 # rpm -e --nodeps apr-1.3.9-5.el6_2.x86_64 # rpm -e --nodeps apr-util-1.3.9-3.el6_0.1.x86_64 # rpm -e --nodeps apr-util-ldap-1.3.9-3.el6_0.1.x86_64 下载最新源码包 apr-1.4.8.tar.gz apr-util-1.5.2.tar.gz,解压并简单安装。 # ./configure --prefix=/opt/apr  && make && make insall # ./configure --prefix=/opt/apr-util --with-apr=/opt/apr && make && make insall 注意:这两个包必须安装在/opt下,否则apache找不到apr。 下载pcre pcre-8.33.zip  解压并简单的安装  ./configure --prefix=/usr/local/pcre make && make install 卸载apache: # rpm -qa | grep httpd httpd-2.2.15-54.el6.centos.x86_64 httpd-tools-2.2.15-54.el6.centos.x86_64 # rpm -e --nodeps httpd-2.2.15-54.el6.centos.x86_64 # rpm -e --nodeps httpd-tools-2.2.15-54.el6.centos.x86_64 解压后进入目录进行编译: ./configure --prefix=/usr/local/apache --enable-rewrite --enable-so --enable-headers --enable-expires --with-mpm=worker --enable-modules=most --enable-deflate --with-apr=/opt/apr --with-apr-util=/opt/apr-util --with-pcre=/usr/local/pcre/bin/pcre-config --prefix=/usr/local/apache表示指定apache的安装路径。 --enable-rewrite提供URL规则的重写更嫩那个,即根据已知的URL地址,转换为其它想要的URL地址 --enable-so激活apache服务的DSO(Dynamic Shared Objects动态共享目标),即在以后可以以DSO的方式编译安装共享模块,这个模块本身不能以DSO方式编译。 --enable-headers提供允许对HTTP请求头的控制。 --enable-expires激活荀彧通过配置文件控制HTTP的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css等内容,提供客户端浏览器缓存的设置。这个是apache调优的一个重要选项之一。 --with-mpm=worker选择apache mpm的模式为worker模式。为worker模式原理是更多的使用线程来处理请求,所以可以处理更多的并发请求。而系统 资源的开销小玉基于进程的MPM prefork。如果不指定此参数,默认的模式是prefork进程模式。这个是apache调优的一个重要选项之一。 --enable-deflate提供对内容的压缩传输编码支持,一般是html、js、css等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是apache调优的一个重要选项之一。   # cp /usr/local/apache/bin/apachectl /etc/init.d/httpd # echo "/usr/local/apache/bin/apachectl start">>/etc/rc.local   # vim /etc/init.d/httpd   添加如下两行并保存: #chkconfig: 2345 70 60 #description: apache # chkconfig --add httpd   加入系统服务 # chkconfig httpd on     开机启动 # /etc/init.d/httpd start  或者 /usr/local/apache2/bin/httpd –k start   说明: 其实apache的启动是调用/usr/local/apache2/bin/httpd这个命令,查看/etc/init.d/httpd脚本便可知道。 chkconfig --add httpd 实际是把/etc/init.d/httpd加入到/etc/rc.d/rc0.d和/etc/rc.d/rc6.d目录下。 chkconfig: 2345 70 60中的2345是指脚本的运行级别,即在2345这4种模式下都可以运行,234都是文本界面,5是图形界面X。 70是指脚本将来的启动顺序号,如果别的程序的启动顺序号比70小(比如44、45),则脚本需要等这些程序都启动以后才启动。60是指系统关闭时,脚本的停止顺序号。  ---------------------------------------------------------------------------------------------------------------------------       二.安装源码mysql   (mysql-5.5.13 该版本需要cmake安装) # tar -zxf cmake-3.7.0.tar.gz # cd cmake-3.7.0 # ./bootstrap --prefix=/usr/local/cmake   (./bootstrap 和./configure一样) # make &&make install # /usr/local/cmake/bin/cmake --version (查看版本号) cmake version 3.7.0-rc2 rpm -qa | grep mysql 卸载查询出来的版本 # rm -rf CMakeCache.txt # yum -y install ncurses-devel # tar -zxf mysql-5.6.31.tar.gz # useradd mysql # cd mysql-5.6.31 /usr/local/cmake/bin/cmake   -DCMAKE_INSTALL_PREFIX=/usr/local/mysql    -DSYSCONFDIR=/etc -DMYSQL_DATADIR=/usr/local/mysql/data  -DMYSQL_TCP_PORT=3306   -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock   -DMYSQL_USER=mysql   -DEXTRA_CHARSETS=all   -DWITH_READLINE=1   -DWITH_SSL=system   -DWITH_EMBEDDED_SERVER=1   -DENABLED_LOCAL_INFILE=1   -DWITH_INNOBASE_STORAGE_ENGINE=1   [root@clone1 mysql-5.5.13]# make && make install   初始化授权库(MySQL 源码包安装需要手动初始化授权库 ) # cd /usr/local/mysql . /scripts/mysql_install_db --user=mysql (初始化数据库,用相对路径安装,勿cd /scripts) # cp support-files/my-default.cnf  /etc/my.cnf # /usr/local/mysql/bin/mysqld_safe --user=mysql &  (启动数据库服务) # netstat -anptu | grep :3306 # /usr/local/mysql/bin/mysql -hlocalhost -uroot -p  直接回车(数据库管理员从数据库服务器本机登录默认没有密码) # pkill -9 mysql    # vim /etc/profile   (把命令的路径添加到PATH) export  PATH=/usr/local/mysql/bin:$PATH :wq # Source /etc/profile # cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld # chmod +x /etc/init.d/mysqld # chkconfig  --add mysqld # chkconfig  --list mysqld mysqld         0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 # service mysqld start Starting MySQL                                             [确定] # netstat -anptu | grep :3306 tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      36969/mysqld          设置数据库管理员从本机登录的密码 # mysqladmin  -hlocalhost -uroot password "123" # service  mysqld stop Shutting down MySQL.                                       [确定] # service  mysqld start Starting MySQL..                                           [确定]   #vim /etc/ld.so.conf  加入如下内容:     include ld.so.conf.d/*.conf /usr/local/mysql/lib #ldconfig  -v //刷新      --------------------------------------------------------------------------------------------------------------------------- 备注:在windows中所有的动态链接库(dll文件)存放在c:\windows\system32 Linux的库文件(so文件),一般会存放在/lib/,/usr/lib/,   提示:默认我们安装的mhash,libmcrypt,libiconv,生产的库文件存放在/usr/local/lib,因此为了让系统识别这些库,可以将/usr/local/lib/相关相关的库文件,做链接放到系统的库文件目录 #ln -sv /usr/local/lib/libmcrypt* /usr/lib/ # ln -sv /usr/local/lib/libmhash.* /usr/lib/   让系统识别到库文件的方法二:修改ldconfig配置文件 将库文件目录加入到/etc/ld.so.conf文件,添加完成后输入如下命令刷新: ldconfig -v //刷新  --------------------------------------------------------------------------------------------------------------------------    三.安装源码php (不是服务,是用来解释php页面的程序) 安装拓展功能包 mhash-0.9.9.9.tar.gz     hash算法 libmcrypt-2.5.8.tar.gz  加密 libiconv-1.13.tar.gz  字符编码转换     # tar -zxf mhash-0.9.9.9.tar.gz # cd mhash-0.9.9.9 # ./configure # make &&make install   # tar -zxf libmcrypt-2.5.8.tar.gz # cd libmcrypt-2.5.8 # ./configure # make && make install   # cd libltdl/ # ldconfig -v # ./configure --with-gmetad --enable-gexec --enable-ltdl-install   # tar -zxf libiconv-1.13.tar.gz # cd libiconv-1.13 # ./configure # make && make install     # ln -sv /usr/local/lib/libmhash.* /usr/lib/      # ln -sv /usr/local/lib/libmcrypt*  /usr/lib/ # ln -sv /usr/local/lib/libiconv.*  /usr/lib/ #ln -sv /usr/local/lib/preloadable_libiconv.so /usr/lib/ # tar -zxf php-5.5.3.tar.gz # cd php-5.4.9 -v显示链接内容 yum -y install libxml2* # ./configure (一行一行的粘贴复制到命令行,或者写成脚本) --prefix=/usr/local/php5 --with-mysql=/usr/local/mysql --enable-fpm --enable-mbstring  --with-mcrypt  --with-mhash --with-config-file-path=/usr/local/php5/etc  --with-mysqli=/usr/local/mysql/bin/mysql_config    #make ZEND_EXTRA_LIBS='-liconv' (必须是大写) # make install # cp php.ini-production   /usr/local/php5/etc/php.ini   四.配置nginx  1. 修改 fpm 配置文件(FastCGI) #cd /usr/local/php5/etc #cp php-fpm.conf.default php-fpm.conf #vim /usr/local/php5/etc/php-fpm.conf listen = 127.0.0.1:9000 pm = dynamic pm.max_children = 32      //最大值 pm.start_servers = 15       //初始化开几个进程 pm.min_spare_servers = 5   //最少空闲进程 pm.max_spare_servers = 32  //最大空闲进程   [root@clone1 /]# cd /root/桌面/lnmp+memcached/php-5.4.9/sapi/fpm/ [root@clone1 fpm]# cp init.d.php-fpm   /etc/init.d/php-fpm [root@clone1 fpm]# chmod +x   /etc/init.d/php-fpm [root@svr5 fpm]# /etc/init.d/php-fpm start Starting php-fpm  done [root@svr5 fpm]# netstat -untlap | grep :9000 tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      40342/php-fpm          Nginx+FastCGI   1. 修改Nginx(调用FastCGI(php-fpm) #cd /usr/local/nginx/conf/ [root@clone1 conf]# vim  nginx.conf 将以下内容的注释符#去掉 location ~ \.php$ {            root           html;            fastcgi_pass   127.0.0.1:9000;            fastcgi_index  index.php;            fastcgi_paramSCRIPT_FILENAME $docoument_root$fastcgi_script_name;             include        fastcgi_params;         } :wq 重新启动Nginx   [root@clone1 conf]# vim fastcgi_params fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;   [root@clone1 conf]# vim /usr/local/nginx/html/test.php <?php   phpinfo(); ?> [root@clone1 conf]# vim /usr/local/nginx/html/index.php <?php $links=mysql_connect("localhost","root",""); if($links){ echo "link db ok!!!"; } else{ echo "link db no!!!"; } ?>       [root@clone1 html]# elinks  --dump http://localhost/linkdb.php link db ok!!!      
转载请注明原文地址: https://www.6miu.com/read-64079.html

最新回复(0)