実験+掲示板を構築するためにコミュニティを構築するためのLNMPプラットフォーム
ビルド+ BBSコミュニティ構造にLNMPプラットフォーム:環境はnginxの、mysqlの環境、PHPの環境、掲示板コミュニティの建物を持っています
A、nginxのソフトウェア展開
1、閉じられた防護壁、セキュリティ
[ルート@ localhostの〜]#iptablesの-F
[ルート@ localhostの〜]#setenforce 0
[ルート@ localhostの〜]#のsystemctl停止firewalld
2、インストールパッケージのアップロードnginxのnginxの-1.6.0.tar.gz
3、インストール関連のライブラリnginxの
[ルート@ localhostの〜]#RPM -q PCRE-develのはzlib-develのpenssl-develの
パッケージは-develのPCREインストールしないで
インストールされていないのzlib-develパッケージには、
パッケージpenssl-develのインストールされていません
[ルート@ localhostの〜]#yumを-y PCRE-develのはzlib-develのopensslの-develのGCCのgcc-C ++メイクをインストール
4、nginxのを実行するためのユーザーとグループを作成します
[ルート@ localhostの〜]#useraddの-M -s / sbinに/ nologinにnginxの // - Mは、ユーザ、-sを指定シェルログインユーザーのための初期化ホームディレクトリを確立していません
5、インストールパッケージnginxのコーデック、コーデックがインストールパスを指定するには
[ルート@ localhostの〜]#タールXFのnginx-1.6.0.tar.gz -Cは/ usr / src
[ルート@ localhostの〜]#ホスト名nginxの
[ルート@ localhostの〜]#のbashの
[ルート@ nginxの〜]#
6、コンパイルし、コンパイルし、設定をnginxのインストール
[ルート@ nginxのnginxの-1.6.0]#は./configure --prefix =は/ usr / local / nginxの--user = nginxの--group = nginxの--with-http_stub_status_module --with-http_ssl_module --with-http_flv_module - -with-http_gzip_static_module && // make installを&&作る-支持表示で模块
[ルート@ nginxのnginxの-1.6.0]#LN -sは/ usr / local / nginxの/ sbinに/ nginxのは/ usr / local / binに/
[ルート@ nginxのnginxの-1.6.0]#LLは/ usr / local / nginxの/ sbinに/ nginxの
-rwxr-XR-X。1つのルートルート5098448 11月14 14時51 は/ usr / local / nginxの/ sbinに/ nginxの
[ルート@ nginxのnginxの-1.6.0]#のCD confに
[ルート@ nginxのconfに]#
[ルート@ nginxのconfに]#エラーのnginxのnginxの設定ファイル-t //チェックは
nginxの:構文で設定ファイル/usr/local/nginx/conf/nginx.confはIS [OK]
nginxの:設定ファイルは/ usr / local / nginxの/ confにテストは/nginx.conf IS 成功
[ルート@ nginxのconfに]#-anptのnetstat | grepを:80
マスター:TCP 0 0 0.0.0.0:80 0.0.0.0:*は、6150 / nginxのをLISTEN
#[nginxのconfの@ルート] のkillall -3 nginxの
[ルート@ nginxのconfに]#netstatの-anpt |グレップ:80
[ルートのnginxのconf @]#nginxの
#[nginxのconfの@ルート] netstatの-anpt |グレップ:80
TCP 0 0マスター:0.0.0.0:80 0.0.0.0:*は、6168 / nginxのをLISTEN
第二に、ソースデータベースのMySQLにインストールされたパッケージ
1、MySQLのインストールの依存関係
[ルート@ nginxの〜]#yumを-yインストールのncurses-develのcmakeの
2、インストールパッケージのアップロードのmysql mysqlの-5.7.24.tar.gz
MySQLのユーザーとグループの操作を作成します3。
[ルート@ nginxの〜]#useraddの-M -s / sbinに/ nologinにmysqlの
4、インストールパスを指定MYSQLインストールパッケージを抽出します
[ルート@ nginxの〜]#タールXFのmysql-5.7.24.tar.gz -Cは/ usr / src /
5、コンパイルしてインストールMySQL設定
・アップロードブーストインストールパッケージboost_1_59_0.tar.gz 目的は、現在のSQLをインストールするときに//エラーを防ぐためです
[ルート@ nginxの〜]#のCDの/usr/src/mysql-5.7.24/
[ルート@ nginxのmysqlの-5.7.24]#ます。mkdirは/ usr / local /ブースト
[ルート@ nginxの〜]#タールXF boost_1_59_0.tar.gz -Cは/ usr / local /ブースト/
[root@nginx ~]# cd /usr/src/mysql-5.7.24/
[root@nginx mysql-5.7.24]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc -DWITH_BOOST=/usr/local/boost && make && make install //可能需要半个小时
6、mysql安装后的调整
[root@nginx ~]# cd /usr/src/mysql-5.7.24/
[root@nginx mysql-5.7.24]#chown -R mysql:mysql /usr/local/mysql/
[root@nginx mysql-5.7.24]# vim /etc/my.cnf
1 [mysqld]
2 datadir=/usr/local/mysql/data
3 socket=/tmp/mysql.sock
11 [mysqld_safe]
12 log-error=/usr/local/mysql/data/mysql.log
13 pid-file=/usr/local/mysql/data/mysql.pid
保存退出
7、初始化数据库
[root@nginx mysql-5.7.24]# cd
[root@nginx ~]# /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
8、设置环境变量
[root@nginx ~]# cd /usr/src/mysql-5.7.24/
[root@nginx mysql-5.7.24]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@nginx mysql-5.7.24]# source /etc/profile
9、启动mysql
[root@nginx mysql-5.7.24]# /usr/local/mysql/support-files/mysql.server start
Starting MySQL.Logging to '/usr/local/mysql/data/mysql.log'.
SUCCESS!
10、修改MySQL用户密码
[root@nginx mysql-5.7.24]# cd
[root@nginx ~]# mysqladmin -u root -p'TAyRptk/I6oM' password '123456'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
11、登录mysql用户
[root@nginx ~]# mysql -u root -p'123456'
mysql> exit
Bye
三、php环境搭建
1、安装php所依赖的安装包
[root@nginx ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel
2、上传php-5.6.39.tar.gz 安装包,解压软件包
[root@nginx ~]# tar xf php-5.6.39.tar.gz -C /usr/src/
3、编译配置
[root@nginx ~]# cd /usr/src/php-5.6.39/
[root@nginx php-5.6.39]# ./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib && make && make install
4、安装后的调整
[root@nginx php-5.6.39]# cp php.ini-production /usr/local/php5/php.ini
[root@nginx php-5.6.39]# ln -s /usr/local/php5/bin/* /usr/local/bin/
[root@nginx php-5.6.39]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/
5、安装ZendGuardLander
【1】上传zend-loader-php5.6-linux-x86_64_update1.tar.gz 软件包
【2】解压并修改相关配置文件
[root@nginx ~]# tar xf zend-loader-php5.6-linux-x86_64_update1.tar.gz -C /usr/src/
[root@nginx ~]# cd /usr/src/zend-loader-php5.6-linux-x86_64/
[root@nginx zend-loader-php5.6-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/
[root@nginx zend-loader-php5.6-linux-x86_64]# vim /usr/local/php5/php.ini
2031 zend_extension=/usr/local/php5/lib/php/ZendGuard
Loader.so
2032 zend_loader.enable=1
//在最末行添加以上内容 保存退出
6、配置nginx支持php环境
[root@nginx zend-loader-php5.6-linux-x86_64]# cd
[root@nginx ~]# cd /usr/local/php5/etc/
[root@nginx etc]# cp php-fpm.conf.default php-fpm.conf
[root@nginx etc]# useradd -M -s /sbin/nologin php
[root@nginx etc]# vim php-fpm.conf
25 pid = run/php-fpm.pid //确认pid文件位置
149 user = php //运行用户
150 group = php //运行组
241 pm.max_children = 50 //最多空闲进程数
246 pm.start_servers = 20 //启动时开启的进程数
251 pm.min_spare_servers = 5 //最少空闲进程数
256 pm.max_spare_servers = 35 //最大空闲进程数
保存退出
7、启动
[root@nginx etc]# /usr/local/sbin/php-fpm
[root@nginx etc]# netstat -anpt |grep php-fpm
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 18744/php-fpm: mast
###为了方便管理#######创建一个nginx与php一同启动的服务脚本
[root@nginxetc]# vim /etc/init.d/nginx
#!/bin/bash
# chkconfig: 2345 99 20
# description: Nginx Server Control Script
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
PROG_FPM="/usr/local/sbin/php-fpm"
PIDF_FPM="/usr/local/php5/var/run/php-fpm.pid"
case "$1" in
start)
$PROG
$PROG_FPM
;;
stop)
kill -s QUIT $(cat $PIDF)
kill -s QUIT $(cat $PIDF_FPM)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF)
;;
*)
echo "Usage: $0 (start|stop|restart|reload)"
exit 1
esac
exit 0
8、配置nginx支持php解析
方法一:
[root@nginxetc]# vim /usr/local/nginx/conf/nginx.conf
server {
……
location ~ \.php$ {//访问.php页面的配置段
}
}
方法二: 较为常见
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
listen 80;
server_name localhost;
root html/bbs;
index index.php index.html index.htm;
}
root html; //PHP网页文档根目录
fastcgi_pass 127.0.0.1:9000; //php-fpm的监听地址
fastcgi_index index.php; //php首页文件
}
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
<?php
phpinfo();
?>
10、编写mysql.php文件
[root@nginx ~]# cat /usr/local/nginx/html/mysql.php
<?php
$link=mysqli_connect('localhost','root','123456'); //连接mysql数据库
if($link) echo "<h1>恭喜你,大功告成!!</h1>"; //连接成功则返回信息
mysqli_close(); //关闭数据库连接
?>
11、在浏览器中输入192.168.200.66/mysql.php
四、部署ComsenzDiscuz BBS论坛系统
1、上传ComsenzDiscuz 安装包ComsenzDiscuz-DiscuzX-master.zip,解压
[root@nginx ~]# uzip ComsenzDiscuz-DiscuzX-master.zip
[root@nginxDiscuzX]# ls upload/
admin.phpapi.php config crossdomain.xml favicon.ico group.phpindex.php m misc.phpportal.phpsearch.php static uc_client
api archiver connect.php data forum.phphome.php install member.phpplugin.php robots.txt source template uc_server
2、上传bbs代码
[root@nginxDiscuzX]# mv upload/ /usr/local/nginx/html/bbs
3、浏览器访问http://192.168.200.66/bbs/install/index.php
4、设置权限及模板文件
[root@nginx~]# cd /usr/local/nginx/html/bbs/config/
[root@nginxconfig]# cp config_global_default.php config_global.php
[root@nginxconfig]# cp config_ucenter_default.php config_ucenter.php
[root@nginx~]# cd /usr/local/nginx/html/bbs
[root@nginxbbs]#chmod -R 777 config/ data/ uc_client/ uc_server/
5、准备数据库并配置相关授权
[root@nginx~]#mysql -uroot -p123456
mysql> create database bbs;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on bbs.* to 'bbs'@'localhost' identified by 'bbs123456';
Query OK, 0 rows affected, 1 warning (0.07 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
[root@nginx~]# vim /usr/local/nginx/conf/nginx.conf
user nginxnginx;
worker_processes 2;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 102400;
events {
use epoll;
worker_connections 4096;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
charset utf-8;
location / {
root html/bbs;
index index.php index.html index.htm;
}
location ~ \.php$ {
root html/bbs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
include fastcgi.conf;
}
location /status {
stub_status on;
access_log off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@nginxetc]#killall -HUP nginx
6、访问192.168.200.66