LNMP架构源码搭建(centos7)
第一步:安装nginx
1.上传或下载nginx,并解压
yum -y install lrzsz rz tar xzvf nginx-1.13.9.tar.gz
2.搭建nginx安装环境
yum -y install gcc-c++ zlib-devel pcre-devel openssl-devel automake
3.进入nginx解压目录,进行预编译
cd nginx-1.13.9 ./configure
4.编译并安装
make && make install
第二步:安装MySQL
1.上传或下载MySQL,并解压
tar xzvf mysql-5.5.20.tar.gz
2.搭建MySQL安装环境
yum -y install cmake bison ncurses-devel
3.创建MySQL用户、安装目录、数据存放目录、socket通信文件位置
1 useradd mysql 2 mkdir /usr/local/mysql5 3 mkdir /data/mysql -p 4 touch /tmp/mysql.sock 5 cd mysql-5.5.20/
4.预编译操作
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DMYSQL_DATADIR=/data/mysql \ -DSYSCONFDIR=/etc \ -DMYSQL_USER=mysql \ -DMYSQL_TCP_PORT=3306 \ -DWITH_XTRADB_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_EXTRA_CHARSETS=1 \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DEXTRA_CHARSETS=all \ -DWITH_BIG_TABLES=1 \ -DWITH_DEBUG=0 \
5.编译并安装
make && make install
6.进入安装目录,修改安装目录下所有文件的属主与属组,并拷贝配置文件和启动程序
1 cd /usr/local/mysql5 2 chown -R mysql:mysql . 3 cp support-files/my-large.cnf /etc/my.cnf 4 cp support-files/mysql.server /etc/init.d/mysqld
7.将MySQL添加到系统服务
chkconfig --add mysqld
8.初始化MySQL,指定MySQL进程启动用户,指定MySQL数据目录,指定MySQL主目录
./scripts/mysql_install_db \ --user=mysql --datadir=/data/mysql \ --basedir=/usr/local/mysql5
9.连接MySQL源码命令到系统命令上
ln -s /usr/local/mysql5/bin/* /usr/bin/
10.添加执行权限,启动MySQL
1 chmod 755 /etc/init.d/mysqld 2 service mysqld start
第三步:安装PHP服务
1.上传并解压php
tar xjvf php-5.6.8.tar.bz2
2.搭建安装环境
yum -y install gd curl-devel libjpeg-devel \ libpng-devel freetype-devel libxml2-devel
3.进入解压后的源码包,执行预编译命令
cd php-5.6.8
./configure --prefix=/usr/local/php5 \ --enable-fpm --enable-debug --with-jpeg-dir \ --with-png-dir --with-freetype-dir \ --enable-mbstring --with-curl --with-mysql=/usr/local/mysql5/ \ --with-mysqli=/usr/local/mysql5/bin/mysql_config \ --disable-fileinfo\
4.编译和安装
make && make install
5.拷贝php.ini进程解析配置文件:开发环境拷贝php.ini-development 生产环境拷贝php.ini-production
cp php.ini-development /usr/local/php5/lib/php.ini
6.拷贝php-fpm进程管理器配置文件
cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf
7.拷贝php-fpm程序管理器启动脚本,并增加脚本执行权限,添加到系统服务
1 cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 2 chmod 755 /etc/init.d/php-fpm 3 chkconfig --add php-fpm
8.将php-fpm程序添加至开机自启动
chkconfig php-fpm on
第四步:LNMP配置文件整合
1.编辑nginx配置文件,在server块中添加新的location块,并编辑
vim /usr/local/nginx/conf/nginx.conf 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; }
2.编辑php-fpm配置文件,将用户和组改为www
useradd www vim /usr/local/php5/etc/php-fpm.conf 25 pid = run/php-fpm.pid 149 user = www 150 group = www
3.在nginx的html目录添加上index.php测试文件,并编辑
touch /usr/local/nginx/html/index.php vim /usr/local/nginx/html/index.php <?php phpinfo(); ?>
4.重启php服务,重启nginx服务,重启mysqld服务
1 service php-fpm restart 2 service mysqld restart 3 /usr/local/nginx/sbin/nginx -s reload
5.开放9000端口、80端口、3306端口
1 firewall-cmd --zone=public --add-port=9000/tcp --permanent 2 firewall-cmd --zone=public --add-port=80/tcp --permanent 3 firewall-cmd --zone=public --add-port=3306/tcp --permanent 4 firewall-cmd --reload
第五步:发布Discuz论坛
1.进入nginx的html目录,上传Discuz软件包,并解压
1 cd /usr/local/nginx/html 2 rz 3 unzip Discuz_X3.2_SC_UTF8.zip
2.将解压后得到的upload中的资源全部移动至html目录;
mv uploca/* .
3.将解压后得到的 data/ uc_server/ config/ uc_client/给予执行写入权限
chmod 757 -R data/ uc_server/ config/ uc_client/
4.在MySQL数据库中创建新用户和密码
1 mysql 2 create database discuz charset=utf8 ; 3 grant all on discuz.* to root@'localhost' identified by "123456" ; 4 flush privileges ; 5 quit ;
5.访问网页测试能否安装