Lnmp is currently the most widely used Web server architecture,Linux is a class of UNIX computer operating system, is the most popular free operating system. The representative versions are: Debian, CentOS, Ubuntu, Fedora, Gentoo, etc.,Nginx is a high-performance HTTP and reverse proxy server, also a IMAP/POP3/SMTP proxy server,Mysql is a small relational database management system,PHP is a server-side execution of embedded HTML document scripting language. These four kinds of software are free open-source software, combined to become a free, efficient, scalable Web services system.
System environment:
- RHEL 6.5 Operating system
- Server IP Address: 192.168.100.5
- Client IP Address: 192.168.100.30 (same network segment as server and able to interconnect)
- LNMP package Baidu Download Password: j892
Achieve the goal:
- Installing Nginx Server
- Installing the MySQL Database
- Install PHP
- Deploy Discuz Forum
Start deployment One. Installing Nginx server 1. Installing a Dependency Package
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
2. New Nginx Admin user
useradd -M -s /sbin/nologin nginx
3. Unzip
tar xzvf nginx-1.6.0.tar.gz -C /opt
4. Configuration
cd /opt/nginx-1.6.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module #开启stub_status状态统计模块
5. Compiling and installing
make && make install
6. Create Nginx links for easy system Management
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
########### nginx Management Command ###########
Nginx-t #nginx配置文件检查
Nginx #启动
KILLALL-1 Nginx #重启nginx
Killall-3 Nginx #停止nginx
######################################
7. Generate Nginx Management scripts
vi /etc/init.d/nginx
#!/bin/bash
#chkconfig:-99 20
#description: Nginx Service Control Script
Prog= "/usr/local/nginx/sbin/nginx"
pidf= "/usr/local/nginx/logs/nginx.pid"
Case "$" in
Start
$PROG
;;
Stop
Kill-s QUIT $ (cat $PIDF)
;;
Restart
$ stop
$ start
;;
Reload
Kill-s HUP $ (cat $PIDF)
;;
*)
echo "Usage: $ {start|stop|restart|reload}"
Exit 1
Esac
Exit 0
8.nginx Give Execute permission
chmod +x /etc/init.d/nginx
9.nginx Join system service Management
chkconfig --add nginx
10. Start Nginx
service nginx start
11. Testing
Two. Install MySQL database 1. Installing Support Packages
yum -y install ncurses-devel gcc gcc-c++ cmake
2. Unzip
tar xzvf mysql-5.5.24.tar.gz -C /opt
3. Go to the MySQL installation package directory
cd /opt/mysql-5.5.24
4. Configuration
CMake \
-dcmake_install_prefix=/usr/local/mysql \
-ddefault_charset=utf8 \
-DDEFAULT_COLLATION=UTF8_GENERAL_CI \
-dwith_extra_charsets=all \
-DSYSCONFDIR=/ETC \
-dmysql_datadir=/home/mysql/\
-dmysql_unix_addr=/home/mysql/mysql.sock \
-dwith_myisam_storage_engine=1 \
-dwith_innobase_storage_engine=1 \
-dwith_archive_storage_engine=1 \
-dwith_blackhole_storage_engine=1 \
-denabled_local_infile=1 \
-dwith_ssl=system \
-dmysql_tcp_port=3306 \
-denable_downloads=1 \
-dwith_ssl=bundled
5. Compiling and installing
make && make install
6. Copy the MySQL configuration file and launch script to the appropriate directory
cp support-files/my-medium.cnf /etc/my.cnfcp support-files/mysql.server /etc/init.d/mysqld
7. Mysqld Giving Execute permission
chmod +x /etc/init.d/mysqld
8. Add Mysqld to System Management
chkconfig mysqld onservice mysqld start
9. Add MySQL to the environment variable
echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile. /etc/profile #更新环境变量
10. Add a MySQL Admin user
useradd -s /sbin/nologin mysql
11. Modify the MySQL user and user group
chown -R mysql.mysql /usr/local/mysql
12. Import the MySQL default database
>/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
13. Establish Mysql.sock Link
ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock
14. Edit the Mysqld startup script
vim /etc/init.d/mysqld
#修改以下路径
Basedir=/usr/local/mysql
Datadir=/home/mysql
15. Restart the MYSQLD service
service mysqld restart
MySQL Test
Three. Install the PHP1. First install GD Library and GD Library Association program
yum -y install gd libxml2-devel libjpeg-devel libpng-devel zlib-devel fontconfig-devel openssl-devel bzip2-devel
2. Unzip
tar -jxvf php-5.4.5.tar.bz2 -C /opt
3. Go to the PHP directory
cd /opt/php-5.4.5/
4. Configuration
./configure \
--PREFIX=/USR/LOCAL/PHP5 \
--WITH-GD \
--with-zlib \
--with-mysql=/usr/local/mysql \
--WITH-CONFIG-FILE-PATH=/USR/LOCAL/PHP5 \
--enable-mbstring \
--with-jpeg-dir \
--WITH-OPENSSL \
--disable-ipv6 \
--enable-fpm
5. Compiling and installing
make && make install
6. Copy the PHP template configuration file
cp php.ini-development /usr/local/php5/php.ini
7. Create a link to the PHP execution file to the system directory for easy execution
ln -s /usr/local/php5/bin/* /usr/local/bin/ln -s /usr/local/php5/sbin/* /usr/local/sbin/
8. PHP Installation Accelerator
#解压软件包
Tar xzvf zendguardloader-php-5.3-linux-glibc23-i386.tar.gz-c/opt
#进入ZG目录下
cd/opt/zendguardloader-php-5.3-linux-glibc23-i386/php-5.3.x
#复制ZendGuardLoader. So to PHP
CP zendguardloader.so/usr/local/php5/lib/php/
9. Configure the PHP recognition accelerator
vim /usr/local/php5/php.ini
#结尾处添加以下三行数据
[Zend Guard Loader]
Zend_extension=/usr/local/php5/lib/php/zendguardloader.so
Zend_loader.enable=1
10. Open the Nginx PHP support
#进入php的etc目录下
cd/usr/local/php5/etc/
#创建php-fpm.conf File
CP Php-fpm.conf.default php-fpm.conf
#创建php用户
Useradd-m-s/sbin/nologin PHP
vi php-fpm.conf #修改
PID = Run/php-fpm.pid #25行
user = PHP #140行
Group = PHP #141行
Pm.max_children=50 #217行
Pm.start_servers = #222行
Pm.min_spare_servers = 5 #227行
Pm.max_spare_servers = #232行
11. View the 9000 port service
netstat -tnal | grep 9000
12. Let Nginx support PHP function
vi /usr/local/nginx/conf/nginx.conf
Location ~. php$ {
root/var/www/php;
Fastcgi_pass 127.0.0.1:9000;
Fastcgi_index index.php;
Include fastcgi.conf;
}
}
Create a Site Directory
mkdir -p /var/www/php
13. New Site Home File
vim /var/www/php/index.php
#php配置页
<?php phpinfo ();?>
14. Restart Nginx
service nginx restart
Test: http: #192.168.100.5/index.php
Four. Deployment of DISCUZ Forum 1. MySQL database management
#登录mysql
Mysql-u Root
#创建bbs数据库
Mysql> CREATE DATABASE bbs;
#把bbs数据库里面所有表的权限授予给bbsuser, and set the password
Mysql> GRANT all on bbs.* to ' bbsuser ' @ ' percent ' identified by ' admin123 ';
#刷新数据库
Mysql>flush privileges;
2. New MySQL Test Web page
vi /var/www/php/index.php
<?php
$link =mysql_connect (' 192.168.100.5 ', ' bbsuser ', ' admin123 ');
if ($link) echo "success!!";
else echo "fail!!";
Mysql_close ();
?>
Through client-side testing such as success
3. Decompression Discuz Forum
unzip Discuz_X2.5_SC_UTF8.zip -d /opt/discuz
4. Enter the DIS directory
cd /opt/discuz
5. Copy the upload file to the Web site Directory
cp -r upload/ /var/www/php/bbs
6. Change the owner to the folder
> chown-r php./config
Chown-r PHP./data
Chown-r PHP./uc_client
Chown-r PHP./uc_server/data
7. The client completes the installation through the http:192.168.100.5/bbs/install/index.php Access Discuz Forum
LNMP Site Server Deployment