标签:cal 优化 并且 ffffff fast kconfig windows 7 网页 介绍
简介1·LNMP 介绍
2·Ningx 安装 (1.12版本)
3·MySQL 安装 (5.5版本)
4·PHP 安装 (5.6版本)
5·安装 Discuz 论坛
6·总结
1· 很多人都知道 LAMP 架构,它是由 Linux + Apache + MySQL + PHP 所架构的,但是随着 Nginx 在企业中用得越来越多,LNMP 架构也受到人们得喜爱。其实这两个架构变化不大,只是提供 WEB 服务的变成了 Nginx 。那么他们之间一定会由差异。在 LNMP 中 Nginx 可以配置网页的动静分离、解析PHP,可以使用 PHP的FPM模块。现在比较新的PHP 版本中已经自带了FPM模块(进程管理器)。这样的话,就可以让 Nginx 来处理静态请求,并且它会把动态请求转发给 PHP中的FPM 模块,也可以把说成是一个php-fpm服务。但是在 LAMP 中php 只是作为一个模块存在!
2·而且Nginx 它能承受的并发连接数高达50000左右,甩 Apache 几条街。还有它的稳定性和系统资源的占用都是非常的小。所以非常受人们喜欢。
安装前准备源码包,我放在百度网盘上点击免费下载:LNMP+论坛源码包密码:jx5k
1·安装 Nginx 之前需要安装依赖包
[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc gcc-c++ make
2·给 Nginx 创建专门的用户,以便准确的控制权限,降低安全风险
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
3·解压、编译安装 nginx ,一般编译安装都放在 /usr/local 目录下面
[root@localhost ~]# tar zxvf nginx-1.12.0.tar.gz -C /opt
[root@localhost ~]# cd /opt/nginx-1.12.0
[root@localhost nginx-1.12.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module (支持统计状态)
[root@localhost nginx-1.12.0]# make && make install (编译安装)
4·为了使 nginx 方便管理员运行和管理,为nginx 创建连接文件
[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/ /usr/local/sbin/
5·为了使 Nginx 的启动 停止更加方便,为他写一个启动脚本,这样更方便。
[root@localhost nginx-1.12.0]# vim /etc/init.d/ngixn
#!/bin/bash
#chkconfig: - 99 20
#description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx" (这里是:主程序路径)
PIDF="/usr/local/nginx/logs/nginx.pid" (这里是PID存放路径)
case "$1" in
start)
$PROG
;;
stop)
kill -s QUIT $(cat $PIDF) (根据 PID 终止 nginx 进程,kill进程)
;;
restart)
$0 stop
$0 start
;;
reload)
kill -s HUP $(cat $PIDF) (根据进程重新加载配置)
;;
*)
echo "Usage: $0 {start|stop|restart|reload}" (如果输入其他则提示输入语法)
exit 1
esac
exit 0
6·给这个脚本赋予执行权限、并把 Nginx 添加为系统服务。
[root@localhost ~]# chmod +x /etc/init.d/nginx
[root@localhost ~]# chkconfig --add nginx
7·启动 Nginx 服务 、查看状态。
[root@localhost ~]# systemctl start nginx
[root@localhost ~]# systemctl status nginx
● nginx.service - SYSV: Nginx Service Control Script
Loaded: loaded (/etc/rc.d/init.d/nginx; bad; vendor preset: disabled)
Active: active (running) since 二 2018-08-28 14:14:00 CST; 7s ago
Docs: man:systemd-sysv-generator(8)
Process: 5323 ExecStart=/etc/rc.d/init.d/nginx start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nginx.service
├─5325 nginx: master process /usr/local/nginx/sbin/nginx
└─5326 nginx: worker process
1·这里还是需要先安装依赖包,MySQL 这里需要注意的是不再用 ./configure 安装模块了,而是用 Cmake ,所以这里需要安装 Cmake以及其他的包
[root@localhost ~]# yum -y install ncurses-devel bion libaio-devel cmake
2·给 MySQL 创建专门的用户,以便准确的控制权限,降低安全风险
[root@localhost ~]# useradd -s /sbin/nologin mysql
3·解压、编译安装 MySQL ,一般编译安装都放在 /usr/local 目录下面
[root@localhost ~]# tar zxvf mysql-5.5.24.tar.gz -C /opt
[root@localhost ~]# cd /opt/mysql-5.5.24
[root@localhost mysql-5.5.24]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/home/mysql/ \
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_SSL=system \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DWITH_SSL=bundled[root@localhost mysql-5.5.24]# make && make install
4·根据一些日常的习惯,对MySQL做一些调整优化。
[root@localhost mysql-5.5.24]# cp support-files/my-medium.cnf /etc/my.cnf
[root@localhost mysql-5.5.24]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.5.24]# chmod +x /etc/init.d/mysqld
5·加入系统管理、设置开机启动
[root@localhost mysql-5.5.24]# chkconfig --add mysqld
[root@localhost mysql-5.5.24]# chkconfig --level 35 mysqld on
6·添加变量到 /etc/profile 文件中,并且使文件再次生效。
[root@localhost mysql-5.5.24]# echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile
[root@localhost ~]# . /etc/profile (这里需要注意 . 中间有空格)
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql
7·初始化数据库
[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--ldata=/var/lib/mysql \
--basedir=/usr/local/mysql \
--datadir=/home/mysql
8·在启动配置文件中指定家目录和安装路径
[root@localhost ~]# vim /etc/init.d/mysqld
basedir=/usr/local/mysql
datadir=/home/mysql
9·到这里我本来就可以启动服务了,可是这里报错,如下图报错信息,是在关闭防火墙,setenforce 0 之后启动。
[root@localhost ~]# systemctl start mysqld.service
它说让你用它提示的语句去查看状态,其实我们用另一种方法启动,可以看到报错信息不一样。如下图
[root@localhost ~]# /etc/init.d/mysqld start
意思是:启动时不跟新PID文件。没有PID 就启动不了。
解决办法:
[root@localhost ~]# mv /etc/my.cnf /etc/my.cnf.bak
相当于删除了这个文件而已就可以启动成功
或者把 /etc/my.cnf 中的两句话注释掉或者自己创建 mkdir -p /var/run/mariadb
mkdir -p /log/run/mariadb
1·安装依赖包和GD库等相关联的程序
[root@localhost ~]# yum -y install \
gd \
libxml2-devel \
libjpeg-devel \
libpng-devel \
zlib-devel \
fontconfig-devel \
openssl-devel \
bzip2-devel
2·解压、编译安装 PHP ,一般编译安装都放在 /usr/local 目录下面
[root@localhost ~]# tar jxvf php-5.6.11.tar.bz2 -C /opt/
[root@localhost php-5.6.11]# ./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring \
--with-jpeg-dir=/usr/lib \
--with-openssl \
--disable-ipv6 \
--enable-fpm[root@localhost php-5.6.11]# make && make install
3·对 PHP 进行一些优化
[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini
[root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/ /usr/local/bin/
[root@localhost php-5.6.11]# ln -s /usr/local/php5/sbin/ /usr/local/sbin/
4·为PHP安装加速器
[root@localhost ~]# tar zxvf zend-loader-php5.5-linux-x86_64_update1.tar.gz -C /opt
[root@localhost ~]# cd /opt/zend-loader-php5.5-linux-x86_64/
[root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php
5·配置PHP识别加速器
[root@localhost ~]# vim /usr/local/php5/php.ini
在文件末尾插入:
[Zend Guard Loader]
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
6·开启nginx的PHP支持
[root@localhost ~]# cd /usr/local/php5/etc/
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]# useradd -M -s /sbin/nologin php (差点忘记了)
7·修改php-fpm配置文件
[root@localhost etc]# vim php-fpm.conf -----(这里是修改文件)
pid = run/php-fpm.pid
user = php
group = php
pm.max_children=50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35[root@localhost etc]# /usr/local/sbin/php-fpm -------------(使文件生效)
[root@localhost etc]# netstat -tnal | grep 9000 -------------(查看一下端口)
8·让nginx支持PHP功能
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf ----(就是修改Nginx配置文件)
location ~ .php$ {
root /var/www/benet;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}在server 里面加入以上参数,如下图:
9·检查 nginx 配置文件,并重启nginx 服务、查看状态
[root@localhost conf]# nginx -t
[root@localhost conf]# systemctl restart nginx
[root@localhost conf]# systemctl status nginx
10·测试 PHP 页面
[root@localhost conf]# mkdir -p /var/www/benet
[root@localhost conf]# vim /var/www/benet/index.php
<?php
phpinfo();
?>
11·开始测试,访问
1·我们在 LNMP 搭建好了之后,就可以基于此基础 安装软件了,这里以 Discuz 论坛 为列
2·要安装 Discuz 论坛需要给此论坛创建一个数据库,并且创建一个用户管理它
3·进入 MySQL 数据库 创建一个新的数据库名字叫 bbs
[root@localhost ~]# mysql -u root -p -----(输入密码进入)
mysql> create databases bbs; ------(创建一个库 名字叫 bbs 以分号结尾)
mysql> grant all on bbs.* to ‘bbsuser‘@‘%‘ identified by ‘admin123‘;
给bbsuser 这个用户在任意一台服务器上登陆,登陆密码是 ‘admin123’ ,对bbs这个库,这个库里面的所有表拥有所有权限。
mysql> flush privileges; ----(刷新数据库,立即生效)
·测试数据库,以下是测试代码:
vim /var/www/benet/index.php
<?php
$link=mysql_connect(‘主机IP‘,‘bbsuser‘,‘admin123‘);
if($link) echo "Success!!";
else echo "Fail!!";
mysql_close();
?>
解压 Discuz 软件包、优化内容
[root@localhost ~]# unzip Discuz_X3.3_SC_UTF8.zip -d /opt/dis
[root@localhost ~]# cd /opt/dis
[root@localhost dis]# cp -r upload/ /var/www/benet/bbs
[root@localhost dis]# cd /var/www/benet/bbs
[root@localhost bbs]# chown -R php ./config
[root@localhost bbs]# chown -R php ./data
[root@localhost bbs]# chown -R php ./uc_client
[root@localhost bbs]# chown -R php ./uc_server/data
开始安装
安装是在 windows 7 上安装,访问地址是:如下图
Discuz 安装完成,我们可以访问管理后台。
总结:
1·关于 一些 Nginx 其他配置可以看看Nginx 优化
2·在整个 LNMP 的安装过程中,说不一定就会报一些错,只是没有遇到,报错就上百度多查查。
3·需要知道 Nginx 的优点在哪里,它的高并发连接,和动静态的分离,还有资源占用极少等等。
4·在LNMP 中的php是用php-fpm模块来做动态工作工作的。但是在LAMP中PHP只是一个模块而已。
CentOS 7 搭建 LNMP 架构详细过程 + Discuz 论坛安装 (手工编译)
标签:cal 优化 并且 ffffff fast kconfig windows 7 网页 介绍
原文地址:http://blog.51cto.com/13746824/2165606