LNMP内网部署wiki
需求:内部人员经常到查阅资料,考虑在内网搭建wiki站点。实验拓扑:
实验环境:
Nginx,PHP:192.168.198.160
MySQL:10.0.0.8
软件包:
HDWiki-v5.1UTF8-20141205.zip
nginx-1.8.0.tar.gz
xcache-3.2.0.tar.gz
mysql-5.5.46-linux2.6-x86_64.tar.gz
php-5.3.27.tar.bz2
1、安装Nginx
1.1准备
1
2
3
ntpdate 202.120.2.101
yum install pcre-devel -y#解决依赖关系
useradd -r -s /sbin/nologin nginx #添加Nginx用户和组
1.2编译安装
1
2
3
4
5
cd /tools
tar -xf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install
1.3 提供配置文件(这一步在编译PHP的时候进行,节约时间)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
worker_processes1;
events {
worker_connections1024;
}
http {
include mime.types;
default_typeapplication/octet-stream;
sendfile on;
keepalive_timeout65;
server {
listen 80;
server_namewiki.edelweiss0.com;
location / {
root html/wiki;
indexindex.html index.htm index.php;
}
error_page 500 502 503 504/50x.html;
location = /50x.html {
root html;
}
location ~ \.php$ {
root html/wiki;
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
include fastcgi.conf;
}
}
}
2、安装PHP
2.1解决依赖关系
1
yum install zlib libxml libjpeg freetype libpng gdcurlzlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel openssl-devel libxslt-devel -y
1
2
3
4
5
6
7
wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
#如果有依赖关系报错,自行百度,安装相应的软件包即可
2.2编译安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
tar -xf php-5.3.27.tar.bz2
cd php-5.3.27
./configure \
--prefix=/usr/local/php \
--enable-fpm \
--with-mysql=mysqlnd\
--with-pdo-mysql=mysqlnd\
--with-mysqli=mysqlnd\
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/libiconv \
--enable-short-tags \
--enable-sockets \
--enable-soap \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d
#这是某运维老鸟说的他企业里都是这么配置的,不需要更改。可自行搜索
1
make && make install #这里需要等待一段时间了,可以同时进行第三步操作
2.3为php提供配置文件,以fastcgi方式监听在9000端口
1
2
3
cp php.ini-production /etc/php.ini #为php提供配置文件
cd /usr/local/php/
cp etc/php-fpm.conf.default etc/php-fpm.conf #如果要实现php和web服务分离可以编辑此文件,这里保持默认
2.4安装与配置xcache加速器
1
2
3
4
5
6
tar -xf xcache-3.2.0.tar.gz
cd xcache-3.2.0
/usr/local/php/bin/phpize #注意这里要先解压xcache在运行此命令
./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config
make && make install
#注意输出的最后信息Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
1
2
3
4
5
6
7
8
mkdir /etc/php.d #提供xcache扩展配置文件
cp xcache.ini /etc/php.d/
vim /etc/php.d/xcache.ini
# diff xcache.ini /etc/php.d/xcache.ini
4c4
< extension = xcache.so
---
> extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/xcache.so
3、安装MySQL(在另一台机器)
3.1准备
1
2
3
4
5
6
7
8
mkdir /data
cd /usr/local/src/
#mysql-5.5.46-linux2.6-x86_64.tar.gz
tar -xf mysql-5.5.46-linux2.6-x86_64.tar.gz -C /usr/local
ln -sv /usr/local/mysql-5.5.46-linux2.6-x86_64/ /usr/local/mysql
groupadd mysql
useradd -g mysql mysql
cd /usr/local/mysql
3.2初始化数据库
1
2
chown -R mysql.mysql .
scripts/mysql_install_db --user=mysql --datadir=/data/ --basedir=/usr/local/mysql #一般出现两个OK代表安装正常
3.3提供配置文件和服务脚本
1
2
3
cp support-files/my-medium.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? y
vim /etc/my.cnf
1
2
3
4
5
6
# diff /etc/my.cnf support-files/my-medium.cnf
38,39c38
< datadir=/data
< log-error=/data/mysql-err
---
>
1
2
3
4
5
6
7
cp support-files/mysql.server /etc/init.d/mysqld
service mysqld start
# ss -tnl | grep 330
LISTEN 0 50 *:3306 *:*
echo "PATH=/usr/local/mysql/bin:/$PATH" > /etc/profile.d/mysql.sh
source /etc/profile.d/mysql.sh
3.4为站点提供数据库和用户
1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> drop database test; #删除无用的数据库
Query OK, 0 rows affected (0.06 sec)
mysql> delete from mysql.user where user='';#删除无用的用户
Query OK, 2 rows affected (0.10 sec)
mysql> create database wiki; #创建wiki数据库
Query OK, 1 row affected (0.00 sec)
mysql> grant all on wiki.* to 'wiki'@'10.0.0.%' identified by '123456'; #创建并授权wiki数据的用户
Query OK, 0 rows affected (0.05 sec)
mysql> flush privileges;#刷新权限
Query OK, 0 rows affected (0.00 sec)
4、整合Nginx,PHP,MySQL
1
2
3
4
5
sbin/nginx -t
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
sbin/nginx
/usr/local/php/sbin/php-fpm
4.1测试Nginx和PHP
1
2
3
4
5
mkdir html/wiki
vim html/wiki/index.php
<?php
phpinfo();
?>
4.2测试PHP和MySQL
1
2
3
4
5
6
7
8
9
10
11
#注意防火墙的配置
vim /usr/local/nginx/html/wiki/index.php
<?php
$link_id=mysql_connect('192.168.198.130','wiki','123456') or mysql_error();
if($link_id){
echo "mysql successful by yunzhonghe !";
}else{
echo mysql_error();
}
?>
4.3建站
1
2
3
4
cd /tools/
unzip HDWiki-v5.1UTF8-20141205.zip
mv HDWiki-v5.1UTF8-20121102/* /usr/local/nginx/html/wiki/
chown nginx.nginx -R /usr/local/nginx/
#结果展示
到时候可以自行扩展
5、总结:希望大家有所收获。
页:
[1]