急速安装lnmp 编译版本

安装msyql+PHP

  1. 系统centos6.5
  2. 安装 开发软件包

    已经改成了163的源需要执行下面的代码

    官网不自带 libmcrypt libmcrypt-devel
wget http://www.atomicorp.com/installers/atomic

下载这个yum源,执行

sh ./atomic
yum -y install libmcrypt libmcrypt-devel
yum -y groupinstall "Development Tools"

报错:提示 kernel-devel需要升级 (这个问题可以忽略)

解决:

wget ftp://rpmfind.net/linux/centos/6.9/os/x86_64/Packages/kernel-devel-2.6.32-696.el6.x86_64.rpm

然后再试下yum -y groupinstall "Development Tools" 已经不报错了。

yum -y install libxml2* curl curl-devel libjpeg* libpng* freetype-devel
  1. 安装mysql: (注意,如果出现后面mysql无论如何都无法启动的情形,请最先安装mysql,并启动试试)
yum -y install mysql mysql-server mysql-devel
  1. 下载PHP-5.6.2
wget http://cn2.php.net/distributions/php-5.6.2.tar.gz
  1. 解压
tar -xvf php-5.6.2.tar.gz
  1. cd php-5.6.2

  2. 编译安装php

二种情况 第一种 用了mysql的rpm包用这种方式编译
​``` shell
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=mysqlnd --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/services/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-pear --with-curl --with-openssl --enable-bcmath --enable-sockets

第二种情况 你使用yum来安装mysql

 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6 --with-pear --with-curl --with-openssl --enable-bcmath --enable-sockets
  1. make && make install ,等好久编译完执行一下make test测试下。

  2. 如果出现未安装的错误一般使用yum安装即可 记得别忘记libcurl*

  3. 出现找不到文件路径的情况下 用 find / -name 'name'去查找一下

  4. 出现warning的情形下大多是因为版本以及默认安装了,可以去掉该行

  5. 修改php配置文件

cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /root/php-5.6.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
  1. 启动php 等安装完nginx后才启动

安装nginx

yum -y install nginx

修改

先备份

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

vim /etc/nginx/nginx.conf
user  nginx nginx;

worker_processes 16;

#error_log  /data/logs/nginx_error.log  crit;
error_log /var/log/nginx_error.log crit;
#pid /usr/local/services/nginx/nginx.pid;
pid /var/run/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535; events
{
use epoll;
worker_connections 65535;
} http
{
include mime.types;
default_type application/octet-stream; #charset gb2312; server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m; sendfile on;
tcp_nopush on; keepalive_timeout 60;
tcp_nodelay on; fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k; gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on; #limit_zone crawler $binary_remote_addr 10m;
log_format www '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
server
{
listen 80;
server_name vagrant-centos65.vagrantup.com;
index start.php index.htm index.html index.php pengyou.php weibo.php qzone.php;
root /usr/share/nginx/html; #limit_conn crawler 20; location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index start.php;
# include fcgi.conf;
include fastcgi.conf;
}
location ~ .*.(svn|git|cvs)
{
deny all;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
} location ~ .*\.(js|css)?$
{
expires 1h;
} } }

启动php-fpm

vim /usr/local/php/etc/php-fpm.conf
user=nginx group=nginx
/etc/init.d/php-fpm start

启动nginx

/etc/init.d/nginx start
vim /usr/share/nginx/html/cc.php
<?php
phpinfo();
?> 127.0.0.1/cc.php

LNMP安装完成


wiki安装部署

首先登录进入mysql数据库

mysql -uroot

创建一个wiki库

create database wiki charset utf8;
grant all on wiki.* to wiki@'localhost' identified by 'wiki';
flush privileges;

下载wiki软件

http://kaiyuan.hudong.com/

wget http://kaiyuan.hudong.com/download.php?n=HDWiki-v6.0UTF8-20170209.zip
unzip HDWiki-v6.0UTF8-20170209.zip
mv hdwiki/* /usr/share/nginx/html/

如果使用老师的nginx包安装

mv hdwiki/* /data/htdocs/www/
chown -R www:wwww /data/htdocs/www

-R 处理指定目录以及其子目录下的所有文件

浏览器http://192.168.1.109/index.php 直接进行配置就可以了

  1. 同意
  2. 权限
[root@vagrant-centos65 html]# chmod 0777 ./uploads
[root@vagrant-centos65 html]# chmod 0777 ./uploads/userface
[root@vagrant-centos65 html]# chmod 0777 ./data/
[root@vagrant-centos65 html]# chmod 0777 ./plugins
[root@vagrant-centos65 html]# chmod 0777 ./style/default/logo.gif
[root@vagrant-centos65 html]# chmod 0777 ./config.php

可简写为一条语句:

[root@vagrant-centos65 html]# chmod 0777 ./uploads ./uploads/userface ./data/ ./plugins ./style/default/logo.gif ./config.php
  1. mysql
[root@vagrant-centos65 html]# mysqladmin -uroot password '123456'
  1. 数据库服务器:把localhost改为127.0.0.1

  2. 启动

    重启过后需要重启这些服务:

    可以添加到开机启动脚本里面

[root@vagrant-centos65 ~]# service nginx start
Starting nginx: [ OK ]
[root@vagrant-centos65 ~]# service mysqld start
Starting mysqld: [ OK ]
[root@vagrant-centos65 ~]# /etc/init.d/php-fpm start
Starting php-fpm done
  1. Linux 开启允许外网访问端口:

LINUX通过下面的命令可以开启允许对外访问的网络端口:

/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT #开启8000端口

/etc/rc.d/init.d/iptables save #保存配置

/etc/rc.d/init.d/iptables restart #重启服务

查看端口是否已经开放

/etc/init.d/iptables status

[root@vagrant-centos65 ~]# /sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
[root@vagrant-centos65 ~]# /etc/rc.d/init.d/iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
[root@vagrant-centos65 ~]# /etc/rc.d/init.d/iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
[root@vagrant-centos65 ~]# /etc/init.d/iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8000 Chain FORWARD (policy ACCEPT)
num target prot opt source destination Chain OUTPUT (policy ACCEPT)
num target prot opt source destination [root@vagrant-centos65 ~]#
  1. 添加防火墙,预防cc攻击和暴力破解!
## 脚本文件:drop_ip.sh
#!/bin/bash
## drop_ip1获取nginx日志里面的黑名单ip
drop_ip1=`tail -5000 /var/log/nginx/access.log |awk '{a[$1]++}END{for(i in a)if(a[i]>300)print i}'`
## drop_ip2获取登录日志的黑名单ip
drop_ip2=`tail -5000 /var/log/secure |grep Failed |awk '{a[$11]++}END{for(i in a)if(a[i]>15)print i}'`
white_ip=('192.168.1.102' '192.168.1.109')
## 通过判断黑名单ip是不是非空、循环遍历判断iptables规则中是否已经有的规则,然后通过插入-s ip DROP操作来防御黑名单ip的进攻
if [ -n $drop_ip1 -o -n $drop_ip2 ];then
for i in drop_ip1 drop_ip2
do
x=`iptables -nv -L |grep $'i'`
if [ -z "$x" ];then
for j in $white_ip
do
if [ $i != $j ];then
/sbin/iptables -I INPUT -s $i -j DROP
fi
done
fi
done
fi

防御结果:

[root@vagrant-centos65 ~]# iptables -nv -L
Chain INPUT (policy ACCEPT 34 packets, 2244 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 192.168.1.105 0.0.0.0/0 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 24 packets, 2912 bytes)
pkts bytes target prot opt in out source destination
  1. 配置外网访问,内网穿透。

    内网访问:http://192.168.1.109/

    外网访问:http://1549v4h967.imwork.net/

急速安装lnmp 编译版本的更多相关文章

  1. 急速安装lnmp 编译版本-wiki-shell脚本实现一键部署

    shell脚本lnmp.sh 环境:centos 6.5 .64位 #!/bin/bash yum install -y nano vim wget wget http://www.atomicorp ...

  2. centos下安装lnmp各个版本的几种方法

    首先我们用一种yum的方法安装,我们需要rpm源 默认的版本太低了,手动安装有一些麻烦,想采用Yum安装的可以使用下面的方案: 1.检查当前安装的PHP包 yum list installed | g ...

  3. 关于轻松安装LNMP和LAMP的编译环境

    http://lnmp.org/install.html 系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要2GB以上硬盘剩余空间 1 ...

  4. LNMP编译安装教程

    LNMP编译安装教程 此次安装在Centos上,我采用的CentOS的版本是:CentOS release 6.5 (Final) 可以通过以下命令查看:lsb_release -a 一.准备工作: ...

  5. 在树莓派1B上编译安装lnmp服务器

    最近一周给部门内部搭建考试系统,选择使用PHPEMS.这是个开源的系统,唯一缺点是PHP的版本比较低,只能使用5.2或5.3.而我的树莓派系统更新后使用apt-get安装得到的PHP版本为5.4.由于 ...

  6. CentOS编译安装LNMP环境

    这里是教大家如何在centos下利用源码编译安装LNMP环境. 工具/原料 centos服务器一台 自用电脑一台 准备篇 配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 配置防火墙,开 ...

  7. Centos 6.8编译安装LNMP环境

    Centos 6.8编译安装LNMP环境 参考资料: http://www.jb51.net/article/107429.htm https://phperzh.com/articles/1360 ...

  8. 阿里云centos6.5实践编译安装LNMP架构web环境

    LNMP 代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. 本次测试需求: **实践centos6.5编译安装 LNMP生产环境 架构 web生产环境 使用 ngx_pa ...

  9. SaltStack之编译安装LNMP环境

    使用saltstack编译安装LNMP环境 一,系统版本查看 二,安装salt-master和salt-minion 安装配置过程参考SaltStack概述及安装 三,修改配置文件 /etc/salt ...

随机推荐

  1. Windows7下安装、部署Weblogic和发布war项目

    安装 1 从官方下载安装包 链接 2 下载之后,放到 Java8\jdk1.8.0\bin目录下 3 打开cmd,输入 java -jar . 4 5 6 下面是我自定义的目录, 7 8 9 10 1 ...

  2. CodeWarrior 10 添加/修改 头文件路径

    当使用CodeWarrior 10时,默认使用大名鼎鼎的GCC编译器. 我们在构建工程的时候,往往按模块分类文件夹,那么就存在需要包含头文件路径的问题.那么如何加入头文件的路径呢?见下文. 1.打开工 ...

  3. 动态在线扩容root根分区大小的方法详解

    前言 本文主要介绍了关于动态在线扩容root根分区大小的相关内容,分享出来供大家参考学习,下面话不都说了,来一起看看详细的介绍吧. ? 1 qemu-img resize yourname.img + ...

  4. laravel -查询近7月走势图案例

    // 获取7月前的时间$time = date('Y-m',strtotime("-0 year -7 month -0 day" ));$where['created_at'] ...

  5. 13. Redis监控运维云平台CacheCloud

    13. Redis监控运维云平台CacheCloud13.1 CacheCloud是什么13.1.1 现有问题13.1.2 CacheCloud基本功能13.2 快速部署13.2.1 CacheClo ...

  6. Spring in Action 第一章 Spring之旅

    1.1 简化Java开发 1.1.2 依赖注入(DI) 松耦合:如果一个对象只通过接口(而不是具体实现或初始化过程)来表明依赖关系,那么这种依赖就能在对象本身毫不知情的情况下,用不同的具体实现进行替代 ...

  7. win10jdk环境变量配置问题:'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    在编译时报错:'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 原因1:配置Path的时候使用%JAVA_HOME%相对路径配置. 解决:把Path路径改为绝对路径(例:D:\P ...

  8. windows任务栏IDEA图标变白色快速解决方法

    方案1:同时按Windows键+R键打开运行对话框,输入ie4uinit.exe -show然后回车即可修复. 方案2:打开计算机(Win7),此电脑(Win10)或任意文件夹,然后在地址栏输入cmd ...

  9. 七、PyQT5控件——QSlider,QSpinBox

    一.Qslider QSlider是一个滑动条,可以设置成水平或垂直放置.最常用的方法允许用户在某一范围内互动该滑块,并将滑块的位置转换成一个整数值(int类型),这种方式可以在某一个范围内平顺的变动 ...

  10. 从零开始学习java(一)java基础语法

    从公司裸辞一个月,原本工作是做VB的,现在想从事java:在找工作的时候总是要什么项目经验,多少有些不爽,所有语言都有共 通性,我就不信java有这么难?给自己点时间来学习.坚持一个月自学,看看自己的 ...