为了账号安全,请及时绑定邮箱和手机立即绑定

Lnmp架构之PHP

标签:
PHP

Lnmp架构搭建+创建Discuz论坛

PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

PHP 独特的语法混合了C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。

   LNMP的简介:

  LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

  LNMP的特点:

  Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少。

  LNMP的优点:

  1.作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。

  2.作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。

  3.作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。

  4.Nginx 安装非常的简单:配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。

Part3:嵌入HTML中的脚本语言———PHP

1.PHP源码编译


yum 

install -y 

re2c-0.13.5-1.el6.x86_64.rpm  

gd-devel-2.0.35-11.el6.x86_64.rpmyum 

install -y 

net-snmp-devel 

curl-devel 

libxml2-devel 

libjpeg-devel 

libpng-devel 

freetype-devel 

gmp-devel 

openldap-devel -y  

##安装软件包,解决必要的依赖性tar jxf 

php-5.6.19.tar.bz2cd php-5.6.19



./configure --prefix=/usr/local/lnmp/php 

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

--with-mysql=mysqlnd 

--with-openssl=mysqlnd 

--with-pdo-mysql=mysqlnd 

--with-openssl 

--with-snmp 

--with-gd 

--with-zlib 

--with-curl 

--with-libxml-dir 

--with-png-dir 

--with-jpeg-dir 

--with-freetype-dir -without-pear 

--with-gettext 

--with-gmp 

--enable-inline-optimization 

--enable-soap 

--enable-ftp 

--enable-sockets 

--enable-mbstring 

--enable-fpm 

--with-fpm-user=nginx 

--with-fpm-group=nginx  

##对即将开始安装的PHP进行配置,检验当前的环境是否满足安装PHP的依赖关系make  

##编译make install  

##安装[root@server2 etc]

# php --version  

##查看PHP版本PHP 5.3.3 

(cli) (built: Aug 19 2013 05:50:20) Copyright (c) 1997-2010 The PHP GroupZend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologiesvim ~/.bash_profile  

##设置环境变量PATH=$PATH:$HOME/bin:/usr/local/lnmp/nginx/sbin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/php/binexport PATHsource ~/.bash_profile  

##生效chmod 755 /usr/local/lnmp/mysql/data/cd /usr/local/lnmp/php/etccp php-fpm.conf.default php-fpm.conf vim php.ini [Date]; Defines the default timezone used by the date functions; http://php.net/date.timezonedate.timezone = Asia/Shanghai  

##更改时区为:亚洲/上海pdo_mysql.default_socket=/usr/local/lnmp/mysql/data/mysql.sockmysql.default_socket = /usr/local/lnmp/mysql/data/mysql.sockmysqli.default_socket = /usr/local/lnmp/mysql/data/mysql.sockvim /usr/local/lnmp/php/etc/php-fpm.conf[global]; Pid file; Note: the default prefix is /usr/local/lnmp/php/var; Default Value: nonepid = run/php-fpm.pidcd php-5.6.19/sapi/fpm/cp init.d.php-fpm /etc/init.d/fpmchmod +x /etc/init.d/fpm  

##加执行权限/etc/init.d/fpm start  

##启动fpmnetstat -antple  

##查看网络端口,看9000端口是否打开如图:

wKioL1eciebAQTv_AAEH7F_URn4821.png-wh_50



vim /usr/local/lnmp/nginx/html/index.php<?phpphpinfo()?>  

##查看PHP信息vim /usr/local/lnmp/nginx/conf/nginx.conf server {        

listen 80;        

server_name localhost;       

#charset koi8-r;        

#access_log  logs/host.access.log  main;        

location / {        

root html;            

index index.php index.html index.htm;        

}        

location /status {            

stub_status on;            

access_log off;}location ~ \.php$ {     

root  html;     

fastcgi_pass 127.0.0.1:9000;     

fastcgi_index index.php;     

fastcgi_param SCRIPT_FILENAME  /scripts$fastcgi_script_name;     

include  fastcgi.conf; 

}

nginx -t  

##检验语法nginx -s reload  

##重新加载Nginx


访问网页http://server2.example.com/,如图:

 wKioL1ecifbjEogMAAFdPez1kxM794.png-wh_50


访问网页http://server2.example.com/status,如图:

wKiom1ecigDjg7mgAABujgpYN8I957.png-wh_50 

2.整合Nginx,MSQL,PHP搭建Lnmp架构,创建Discuz论坛

   Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,Discuz!已拥有11年以上的应用历史和200多万网站用户案例,是全球成熟度最高、覆盖率最大的论坛软件系统之一。目前最新版本Discuz! X2.5正式版于2012年4月7日发布,首次引入应用中心的开发模式。2010年8月23日,康盛创想与腾讯达成收购协议,成为腾讯的全资子公司。

      Discuz!适用于以下的应用领域:

   对稳定性和负载能力要求较高的门户网站 大中型企业的客户在线调查、技术与产品服务 企事业单位内部交流与沟通,办公协作与自动化(OA) 大中专院校的学生、教工与校友讨论区 已经发展到一定规模,具有相当访问量的个人网站 商业、交友、科技、影音、下载等等方面的专门网站 地方政府、电信公司或爱好者建立的地域性讨论区 以上仅是一些常见应用领域的举例,事实上,Discuz! 因其全面的功能设计和可圈点的安全防范,几乎适用于所有需要互动和交流功能的网站,尤其是已经具备相当规模,且经常因为服务器资源耗尽、安全问题或其他原因而损失人气的中大型应用案例。

  系统特色

  1.卓越的访问速度和负载能力

  2.强大而完善的功能

  3.国际化和标准化的产品架构

  4.周密的安全部署和攻击防护

1

2

3

4

5

6

yum 

install -y 

unzipunzip 

Discuz_X3.2_SC_UTF8.zip -d /usr/local/lnmp/nginx/html/cd /usr/local/lnmp/nginx/html/mv upload/ 

bbscd bbs/登陆http:

//server2.example.com/bbs

如图:

wKioL1ecihHy-jniAAKYmWAmpxs762.png-wh_50

wKioL1eciiDC0zFsAAF1DH0kwZU260.png-wh_50

 

1chmod 777 config/,如图:

 wKiom1ecimiTPLR7AAD62HGHLhM340.png-wh_50


12chmod 777 -R data/,如图:

wKiom1ecinWzMDfCAADfKW9MEIs980.png-wh_50

 

12chmod 777 -R uc_*,如图:

wKioL1ecioaQGsn3AADVdD2_OdQ506.png-wh_50

 


[root@server2 bbs]#  mysql -p
Enter password: GAOfang123+++
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.11 Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)
mysql> create database discuz;  ##创建名为discuz的数据库
Query OK, 1 row affected (0.00 sec)
mysql> grant all on discuz.* to gf@localhost identified by 'GAOfang123+++';
##将discuz的所有权限赋给普通用户gf,并提供密码验证GAOfang123+++
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> quit
Bye
[root@server2 bbs]# mysql -ugf -pGAOfang123+++ discuz ##用新用户登陆discuz数据库
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.11 Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
  
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| discuz             |
+--------------------+
2 rows in set (0.00 sec)
mysql> quit
Bye
登陆网页http://server2.example.com/bbs,依次安装数据库,如图:


 wKioL1eciqzCWhh8AAEMBi2b_rw415.png-wh_50

 wKiom1ecisHhyX3IAADH_UtlMsk607.png-wh_50

wKioL1ecitXhnYGtAADq65g6FuM534.png-wh_50

 

安装完毕即可进入discuz论坛,如图:

 wKiom1ecivmxKrGrAAGU54w9vaU567.png-wh_50

wKioL1eciw_x8BLeAAE0H7BLqWI012.png-wh_50

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消