Lnamp (linux+nginx+apache+mysql+php) architecture is favored by many IT companies, instead of the original thought of a good lnmp (linux+nginx+mysql+php) architecture, then we say Lnamp what is the advantage of it, You have to start with the pros and cons of Nginx and Apache.
Nginx processing static file ability is very strong, Apache processing dynamic file is very strong and stable, the two integrated in one, performance improved many times. Perhaps a lot of Linux SA in the LNMP operation, you will find that PHP (FastCGI) mode will appear some 502 error phenomenon, because of the nginx+php (FastCGI) combination of instability caused by the cause.
Test machine:
[Email protected]_168_77_189 ~]# uname-alinux 192_168_77_189 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 04:27:16 UTC x 86_64 x86_64 x86_64 gnu/linux[[email protected]_168_77_189 ~]# cat/etc/issuecentos Release 6.6 (Final) Kernel \ r on an \m
[[email protected]_168_77_189 ~]# yum install pcre pcre-devel -y #依赖包 [[email protected]_168_77_189 autolamp]# tar -xzvf nginx-1.8.0.tar.gz [[email protected]_168_77_189 nginx-1.8.0]# ./configure -- Prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module[[email protected] _168_77_189 nginx-1.8.0]# make && make install[[email protected]_168_77_ 189 nginx-1.8.0]# /usr/local/nginx/sbin/nginx[[email protected]_168_77_189 nginx-1.8.0]# ps -ef | grep nginx root 9982 1 0 19:38 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginxnobody 9983 9982 0 19:38 ? 00:00:00 nginx: worker process root 9987 7577 0 19:38 pts/1 00:00:00 grep nginx
[[email protected]_168_77_189 autolamp]# yum -y install epel-release [[ email protected]_168_77_189 apr-1.5.2]# ./configure --prefix=/usr/local/apr[[email Protected]_168_77_189 apr-1.5.2]# make && make install[[email protected] _168_77_189 apr-util-1.5.2]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/ local/apr[[email protected]_168_77_189 apr-util-1.5.2]# make && make Install[[email protected]_168_77_189 httpd-2.4.16]# ./configure --prefix=/usr/local/apache --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib -- With-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event[[email protected]_168_77_189 httpd-2.4.16]# make && Make install
yum install gcc gcc-c++ make cmake ncurses-devel bison perl [[email protected]_168_77_189 mysql-5.5.44]# cmake -dcmake_install_prefix= /data/app/mysql3306 -dmysql_datadir=/data/mysql3306 -dwith_myisam_storage_engine=1 -dwith _innobase_storage_engine=1 -dwith_memory_storage_engine=1 -dwith_readline=1 -dmysql_tcp_port= 3306 -denabled_local_infile=1 -dwith_partition_storage_engine=1 -dextra_charsets=all - Ddefault_charset=utf8 -ddefault_collation=utf8_general_ci -dwith_debug=0 -dmysql_user=mysql -DMYSQL_UNIX_ADDR=/data/mysql3306/mysql3306.sock [[email protected]_168_77_189 Mysql-5.5.44]# make && make install [[email protected] _168_77_189 mysql-5.5.44]# cp -a support-files/my-large.cnf /data/mysql3306/my.cnf [[email protected]_168_77_189 data]# chown mysql.mysql app/ -r[[email protected]_168_77_189 data]# chown mysql.mysql mysql3306/ -R [[email protected]_168_77_189 mysql3306]# cp -a support-files/mysql.server /etc/init.d/mysqld[[email protected]_168 _77_189 mysql3306]# cd /data/app/mysql3306/ [[email protected]_168_77_189 mysql3306]# ./scripts/mysql_install_db --basedir=/data/app/mysql3306/ --datadir=/data/mysql3306 / --user=mysql[[email protected]_168_77_189 mysql3306]# echo "export PATH= "\ $PATH":/data/app/mysql3306/bin/" >>/root/.bash_profile && source /root/. bash_profile [[email protected]_168_77_189 mysql3306]# /etc/init.d/mysqld Restartshutting down mysql. success! starting mysql. success!
yum install libxml2-devel libmcrypt-devel bzip2-devel libxml2-devel openssl-devel bzip2 bzip2-devel[[email protected]_168 _77_189 php-5.4.42]# ./configure --prefix=/usr/local/php --with-mysql=/data/app/mysql3306 --with-openssl --with-mysqli=/data/app/mysql3306/bin/mysql_config --enable-mbstring -- with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr - -enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-bz2 -- With-config-file-path=/etc/php/php.ini --with-config-file-scan-dir=/etc/php/php.d/ --with-apxs2=/usr /local/apache/bin/apxs[[email protected]_168_77_189 php-5.4.42]# make && make install
[[email protected]_168_77_189 php-5.4.42]# echo "addtype application/x-httpd-php .php " >> /usr/local/apache/conf/httpd.conf[[email protected]_168_77_189 php-5.4.42]# sed -i ' s/directoryindex index.html/directoryindex index.php Index.html/g ' /usr/local/apache/conf/httpd.conf[[email protected]_168_77_189 php-5.4.42]# /usr/local/apache/bin/apachectl -t 00557: httpd: apr_sockaddr_info_get () failed for 192_168_77_189ah00558: httpd: could not reliably determine the server ' s fully qualified domain name, using 127.0.0.1. set the ' ServerName ' directive globally to suppress this messageSyntax okservername www.example.com:80 change to servername localhost:80 can be [[email protected]_168_77_189 conf]# /usr/local/apache/bin/apachectl -tsyntax ok[[email protected]_168_77_189 conf]# ps -ef | Grep httproot 23847 1 0 21:05 ? 00:00:00 /usr/local/apache/bin/httpd -k restartdaemon 23849 23847 0 21:05 ? 00:00:00 /usr/local/apache/bin/httpd -k restartdaemon 23850 23847 0 21:05 ? 00:00:00 /usr/ Local/apache/bin/httpd -k restartdaemon 23851 23847 0 21:05 ? 00:00:00 /usr/local/apache/bin/httpd -k restartdaemon 23937 23847 0 21:06 ? &NBSP;&NBSP;&NBSP;00:00:00 /usr/local/apache/bin/httpd -k restartroot 23973 22611 0 21:10 pts/1 00:00:00 grep http[[email protected] _168_77_189 ~]# cd /usr/local/apache/htdocs/in index.php add <?phpphpinfo ();? >~ on the client input http://192.168.77.189/ test get the following page
650) this.width=650; "title=" qq20150813212927.jpg "src=" http://s3.51cto.com/wyfs02/M02/71/61/wKiom1XMm_ Lg5430aamujtncfli513.jpg "alt=" Wkiom1xmm_lg5430aamujtncfli513.jpg "/>
Download Discuz Source Package file
[Email protected]_168_77_189 ~]# wget [[email protected]_168_77_189 autolamp]# Unzip discuz_x3.1_sc_utf8.zip-d/usr/ Local/apache/htdocs/[[email protected]_168_77_189 autolamp]# cd/usr/local/apache/htdocs/;mv upload/*. [[Email protected]_168_77_189 htdocs]# chmod 777-r data/uc_server/config/uc_client/then visit http://192.168.77.189/ Install the Discuz forum, for example, select "I Agree"
650) this.width=650; "title=" qq20150813213641.jpg "src=" http://s3.51cto.com/wyfs02/M02/71/5D/ Wkiol1xmn4yq0ngfaaqc0aqncxo275.jpg "alt=" Wkiol1xmn4yq0ngfaaqc0aqncxo275.jpg "/>
650) this.width=650; "title=" qq20150813213844.jpg "src=" http://s3.51cto.com/wyfs02/M02/71/61/wKiom1XMnfyywpiqAAH_ Gr_v1hu013.jpg "alt=" Wkiom1xmnfyywpiqaah_gr_v1hu013.jpg "/>
Database authorization:
[[Email protected]_168_77_189 ~]#/data/app/mysql3306/bin/mysql login, here the database does not have a password set mysql> create databases Discuz charset =utf8;grant all on discuz.* to identified by "123456"; Authorized
Then enter the account information on the Forum page the next step will be installed successfully ....
650) this.width=650; "title=" qq20150813214648.jpg "src=" http://s3.51cto.com/wyfs02/M00/71/5D/ Wkiol1xmoezirhm9aajw-arhg04871.jpg "alt=" Wkiol1xmoezirhm9aajw-arhg04871.jpg "/>
Since the lamp environment has been integrated and built successfully, how can you use Nginx to integrate lamp?
First modify Apache access port to 8080,nginx port default to 80
Then modify the Nginx configuration file: The Vi/usr/local/nginx/conf/nginx.conf,server configuration section reads as follows:
Define the upstream equalization module, configure dynamic and static separation, dynamically forward to Apache, static file directly local response), where the configuration of the dynamic separation, dynamically walk
upstreamapp_lamp { server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=30s; } server { listen 80; server_name localhost; location / { root /usr/local/apache/htdocs; index index.php index.html index.htm; } location ~ .*\. (php|jsp|cgi)? $ { proxy_set_header Host $host; proxy_set_header x-real-ip$remote_addr; proxy_set_header x-forwarded-for$proxy_add_x_forwarded_for; proxy_pass http://app_lamp; } location ~.*\. (HTML|HTM|GIF|JPG|JPEG|BMP|PNG|ICO|TXT|JS|CSS) $ { root /usr/local/apache/htdocs; expires 3d; } }
In the client input http://192.168.77.189 can be directly accessed, the dynamic picture picture program to walk the app_lamp module inside the host, of course, can be another machine, static webpage go is local
Since then, all the Lnamp source code has been integrated
The package is too big to be uploaded ......... ..........
Lnamp source installation integration plus forum and static and dynamic separation