LNMP搭建HDwiki

sktj發表於2018-01-06

sed -i `s/SELINUX=enabled/SELINUX=disabled/g` /etc/selinux/config

getenforce 0

/etc/init.d/iptables stop

cat /etc/redhat-release 

uname -r

uname -m

#安裝nginx

#su –

#chmod 777 /usr/local/src

yum -y install  wget libtool expat-devel pcre-devel zlib-devel openssl openssl-devel pcre 

yum -y install gcc gcc-c++ glibc automake autoconf libtool make 

yum -y install libmcrypt-devel mhash-devel libxslt-devel

libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel

zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel

ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel

krb5 krb5-devel libidn libidn-devel openssl openssl-devel

#安裝pcre

cd /usr/local/src

wget http://sourceforge.net/projects/pcre/files/pcre/8.39/pcre-8.39.tar.gz/download -O  pcre-8.39.tar.gz

tar -zxvf pcre-8.39.tar.gz

cd pcre-8.39

./configure

make && make install

#安裝zlib

  cd /usr/local/src

  wget http://zlib.net/zlib-1.2.11.tar.gz

  tar -zxvf zlib-1.2.11.tar.gz

  cd zlib-1.2.11

  ./configure

  make && make install

#安裝openssl

cd /usr/local/src

wget https://www.openssl.org/source/openssl-1.1.0b.tar.gz

tar -zxvf openssl-1.1.0b.tar.gz

cd openssl-1.1.0b

./config

make && make install

#安裝nginx

 cd /usr/local/src

 wget http://nginx.org/download/nginx-1.10.2.tar.gz

 tar -zxvf nginx-1.10.2.tar.gz

 cd nginx-1.10.2

groupadd -r nginx

useradd -r -g nginx nginx

./configure

  –prefix=/usr/local/nginx

  –sbin-path=/usr/local/nginx/sbin/nginx

  –conf-path=/usr/local/nginx/nginx.conf

  –pid-path=/usr/local/nginx/nginx.pid

  –user=nginx

  –group=nginx

  –with-http_ssl_module

  –with-http_flv_module

 –with-http_mp4_module 

 –with-http_stub_status_module

 –with-http_gzip_static_module

 –http-client-body-temp-path=/var/tmp/nginx/client/

 –http-proxy-temp-path=/var/tmp/nginx/proxy/

 –http-fastcgi-temp-path=/var/tmp/nginx/fcgi/

 –http-uwsgi-temp-path=/var/tmp/nginx/uwsgi

 –http-scgi-temp-path=/var/tmp/nginx/scgi

 –with-pcre=/usr/local/src/pcre-8.39

 –with-zlib=/usr/local/src/zlib-1.2.11

 –with-openssl=/usr/local/src/openssl-1.1.0b

;

make && make install

 netstat -ano|grep 80

mkdir -p /var/tmp/nginx/client

/usr/local/nginx/sbin/nginx

#搭建MYSQL

useradd -s /sbin/nologin -M mysql

wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/mysql-5.7.17

ln -s /usr/local/mysql-5.7.17 /usr/local/mysql

#建立資料庫檔案目錄

mkdir -p /data/mysql

chown -R mysql.mysql /data/

#配置啟動指令碼檔案,並加入系統服務,自啟動

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld 

chkconfig –add mysqld

chkconfig mysqld on

#配置mysql配置檔案

cat > /etc/my.cnf << EOF

[client]

port = 3306

socket = /tmp/mysql.sock

default-character-set = utf8

[mysqld]

port = 3306

socket = /tmp/mysql.sock

basedir = /usr/local/mysql

datadir = /data/mysql

pid-file = /data/mysql/mysql.pid

user = mysql

bind-address = 0.0.0.0

server-id = 1

init-connect = `SET NAMES utf8`

character-set-server = utf8

#skip-name-resolve

#skip-networking

back_log = 300

max_connections = 1000

max_connect_errors = 6000

open_files_limit = 65535

table_open_cache = 128

max_allowed_packet = 4M

binlog_cache_size = 1M

max_heap_table_size = 8M

tmp_table_size = 16M

read_buffer_size = 2M

read_rnd_buffer_size = 8M

sort_buffer_size = 8M

join_buffer_size = 8M

key_buffer_size = 4M

thread_cache_size = 8

query_cache_type = 1

query_cache_size = 8M

query_cache_limit = 2M

ft_min_word_len = 4

log_bin = mysql-bin

binlog_format = mixed

expire_logs_days = 30

log_error = /data/mysql/mysql-error.log

slow_query_log = 1

long_query_time = 1

slow_query_log_file = /data/mysql/mysql-slow.log

performance_schema = 0

explicit_defaults_for_timestamp

#lower_case_table_names = 1

skip-external-locking

default_storage_engine = InnoDB

#default-storage-engine = MyISAM

innodb_file_per_table = 1

innodb_open_files = 500

innodb_buffer_pool_size = 64M

innodb_write_io_threads = 4

innodb_read_io_threads = 4

innodb_thread_concurrency = 0

innodb_purge_threads = 1

innodb_flush_log_at_trx_commit = 2

innodb_log_buffer_size = 2M

innodb_log_file_size = 32M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

bulk_insert_buffer_size = 8M

myisam_sort_buffer_size = 8M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

interactive_timeout = 28800

wait_timeout = 28800

[mysqldump]

quick

max_allowed_packet = 16M

[myisamchk]

key_buffer_size = 8M

sort_buffer_size = 8M

read_buffer = 4M

write_buffer = 4M

EOF

#初始化資料庫:

/usr/local/mysql/bin/mysqld –initialize-insecure –user=mysql –basedir=/usr/local/mysql –datadir=/data/mysql

#配合環境變數

echo “export PATH=$PATH:/usr/local/mysql/bin” >>/etc/profile

. /etc/profile

#啟動MySQL服務 

/etc/init.d/mysqld start

#修改root密碼

mysql -uroot

#mysql -uroot -pk8008.com -e “use mysql;update user set authentication_string=password(`新密碼`) where user=`root`;”

update mysql.user set authentication_string=password(“xmrbiyfzx2016”) where user=`root`;

#安裝PHP

#安裝第三方yum源

wget http://www.atomicorp.com/installers/atomic

sh ./atomic

#使用yum命令安裝

yum -y install  libxml libjpeg freetype libpng gd curl libiconv zlib-devel gd-devel curl-devel openssl-devel libxslt-devel 

php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel libevent libevent-devel libxml2 libxml2-devel bzip2-devel libcurl-

devel libjpeg-devel libpng-devel freetype-devel 

yum -y install zlib

wget http://mirrors.sohu.com/php/php-5.6.30.tar.gz

tar zxvf php-5.6.30.tar.gz

cd php-5.6.30

./configure

–prefix=/usr/local/php

–with-config-file-path=/usr/local/php/etc

–enable-inline-optimization

–enable-fpm

–with-mysql=/usr/local/mysql

–with-mysqli=/usr/local/mysql/bin/mysql_config

–with-pdo-mysql=/usr/local/mysql

–with-gettext

–enable-mbstring

–with-iconv=/usr/local/libiconv

–with-mcrypt

–with-mhash

–enable-bcmath

–enable-soap

–with-libxml-dir

–enable-sockets

–with-curl

–with-zlib

–enable-zip

–with-bz2

–with-gd

–with-freetype-dir

–with-jpeg-dir

–with-iconv

–with-png-dir

#–with-openssl

make

make install

cp php.ini-production /usr/local/php/etc/php.ini

#到此LNMP安裝完成!

mkdir /usr/local/nginx/xmrbi.wiki.com

##配置nginx

user  www www; 

pid /var/run/nginx.pid; 

worker_processes auto; 

worker_rlimit_nofile 100000; 

events

{

use epoll;

multi_accept on; 

worker_connections 51200;

}

http { 

server_tokens off; 

sendfile on; 

tcp_nopush on; 

tcp_nodelay on; 

access_log off; 

error_log /var/log/nginx/error.log crit; 

keepalive_timeout 10; 

client_header_timeout 10; 

client_body_timeout 10; 

reset_timedout_connection on; 

send_timeout 10; 

limit_conn_zone $binary_remote_addr zone=addr:5m; 

limit_conn addr 100; 

include /usr/local/nginx/mime.types; 

default_type text/html; 

charset UTF-8; 

gzip on; 

gzip_disable “msie6”; 

gzip_proxied any; 

gzip_min_length 1000; 

gzip_comp_level 6; 

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss 

text/javascript; 

gzip_disable “MSIE [1-6].(?!.*SV1)”;

open_file_cache max=100000 inactive=20s; 

open_file_cache_valid 30s; 

open_file_cache_min_uses 2; 

open_file_cache_errors on; 

include /usr/local/nginx/conf.d/*.conf; 

server  {

    listen 9001;

    location ~ /nginx_status {

    stub_status on;

    access_log off;

   allow all;

    #deny all;

    }

server {

 server_name xmrbi.wiki.com;

  server_name 172.16.50.51;

  listen 80;

  autoindex off;

  client_max_body_size 15M;

  client_body_buffer_size 128k;

  index index.html index.htm index.php doku.php;

  access_log  /usr/local/nginx/xmrbi.wiki.com/access.log;

  error_log  /usr/local/nginx/xmrbi.wiki.com/error.log;

  root /usr/local/nginx/html/dokuwiki;

  location / {

    try_files $uri $uri/ @dokuwiki;

  }

  location ~ ^/lib.*.(gif|png|ico|jpg)$ {

    expires 30d;

  }

  location = /robots.txt  { access_log off; log_not_found off; }

  location = /favicon.ico { access_log off; log_not_found off; }

  location ~ /.          { access_log off; log_not_found off; deny all; }

  location ~ ~$           { access_log off; log_not_found off; deny all; }

  location @dokuwiki {

    rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;

    rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;

    rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;

    rewrite ^/(.*) /doku.php?id=$1 last;

  }

  location ~ .php$ {

    try_files $uri =404;

     fastcgi_pass   unix:/var/run/php-fpm/xmrbi.wiki.com.sock;

    fastcgi_index  index.php;

    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include /usr/local/nginx/fastcgi_params;

    fastcgi_param  QUERY_STRING     $query_string;

    fastcgi_param  REQUEST_METHOD   $request_method;

    fastcgi_param  CONTENT_TYPE     $content_type;

    fastcgi_param  CONTENT_LENGTH   $content_length;

    fastcgi_intercept_errors        on;

    fastcgi_ignore_client_abort     off;

    fastcgi_connect_timeout 60;

    fastcgi_send_timeout 180;

    fastcgi_read_timeout 180;

    fastcgi_buffer_size 128k;

    fastcgi_buffers 4 256k;

    fastcgi_busy_buffers_size 256k;

    fastcgi_temp_file_write_size 256k;

  }

  location ~ /(data|conf|bin|inc)/ {

    deny all;

  }

  location ~ /.ht {

    deny  all;

  }

}

}

##php高併發nginx優化http://www.cnblogs.com/dawnlee/p/5142724.html

cd /usr/local/php/etc

cp php-fpm.conf.default php-fpm.conf

##vi php-fpm.conf

listen = /var/run/php-fpm/xmrbi.wiki.com.sock

listen.backlog = 65535

listen.owner = www

listen.group = www

listen.mode = 0660

###################

chmod 777 -R /usr/local/nginx/html/dokuwiki

/usr/local/php/sbin/php-fpm

/usr/local/nginx/sbin/nginx -s reload 


相關文章