准备 LAMP 环境

 

  这里照旧遵守气象来啊,终究场景是最能体验实用性的。首先说下服务器配置甚至情状

LAMP 是 Linux、Apache、MySQL 和 PHP 的缩写,是 Discuz
论坛系统正视的底子运行条件。大家先来策动 LAMP 处境:

卸载mysql:

  Ali云ECS云主机,8G内部存款和储蓄器,4核的CPU,20M带宽,20G系统盘+200G数据盘,CentOS6.563位,安装的风流倜傥件集成lnmp情况

安装 Apache2

1、sudo apt-get autoremove –purge
mysql-server-5.5

  场景:Wechat发红包

ubuntu 要求设置 Apache2 ,使用 apt-get 安装 Apache2:

    5.5 是数据库版本, mysql -v 展现版本新闻

  那几个情景是很宽泛的,日常客商会在整点的时候进行一回Wechat大伙儿号的广告推送,那儿时候服务器的产出大约在3000到5000左右。谈到来那实则并不算是高并发,可是服务器仍旧崩了,差不离供给拭目以俟5分钟之后本领恢复生机不荒谬。那有点不应有啊,解析原因。查看CPU的利用率并不高,内部存款和储蓄器使用也很符合规律,在Ali云调节面板里面查看互联网出口流量满载,难题大致是知道了,互连网原因变成。

sudo apt-get install apache2 -y

2、sudo apt-get remove mysql-server

  首先查看静态资源,开采图片超越六分之三未曾优化,于是脱下来进行无损压缩,大致省略了1M左右的轻重,提交上去后依旧崩溃,服务器频仍现身502。

安装好后,您能够经过拜候实验室IP地址 查见到 apache
分界面,表明 apache2 安装成功。

3、sudo apt-get autoremove
mysql-server

  再度检查页面包车型客车静态能源css和js,把常用的js库替换来CDN以减削央求数,提交后如故未有稍稍变化,502如故。

安装 PHP 组件

      2、3大概没效果   

  于是查看nginx连接数,使用命令

apt-get 里有 php7.0 ,所以大家可以一向设置 php7.0 :

4、sudo apt-get remove mysql-common

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

sudo apt-get install php7.0 -y

 

结果展现

安装 php 相关组件:

5、清理数据 :dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs
dpkg -P

TIME_WAIT 3828
SYN_SENT 1
FIN_WAIT1 107
FIN_WAIT2 27
ESTABLISHED 661
SYN_RECV 23
CLOSING 15
LAST_ACK 284

sudo apt-get install libapache2-mod-php7.0

 

  乖乖,TIME_WAITE超高,这里不可不说下TIME_WAITE的含义:TIME_WAIT:另一只已早先化一个放出。这些是啥意思呢?意思即是服务器已经主动关闭了,在等候顾客端给二个回应,要是客户端直接从未回答就能并发等待,那些值就能够大增。很备受关注,那时候大家须求减弱TIME_WAIT的值。

重启 Apache 服务:

 

  这里只必要更改sysctl.conf的意气风发部分参数就可以,编辑/etc/sysctl.conf文件,检查

sudo /etc/init.d/apache2 restart

在装置MySQL-Python的时候现身了那样的大谬不然:

      是还是不是是那样的设置,若是找不到相应的,在文书最终加上就可以。保存后实行

安装 MySQL 服务

error: command ‘x86_64-linux-gnu-gcc’
failed with exit status 1

/sbin/sysctl -p

设置 MySQL 服务,安装 MySQL 进度中,调节台会提醒您输入 MySQL
的密码,您需求输入五回密码,并记住你输入的密码,后续安装步骤须要用到。

想开应该是少了怎样正视包,在网络搜了须臾间找到了答案:

布署就可以知效。

sudo apt-get install mysql-server -y

先安装那几个包:

20分钟后一而再三番五次查看nginx连接数,结果

安装 php MySQL 相关组件:

sudo apt-get install libxml2-dev
libxslt1-dev python-dev

TIME_WAIT 87
SYN_SENT 1
FIN_WAIT1 60
FIN_WAIT2 19
ESTABLISHED 477
SYN_RECV 12
CLOSING 2
LAST_ACK 100

sudo apt-get install php7.0-mysql

然后在设置:

复苏正常,网络带宽也降下来了。

重启 MySQL 服务

sudo pip install MySQL-python

可是好景十分长,第二回整点开首抢红包的时候又出新了502。查看进程开采mysqld的CPU占用率相当高,引致CPU满载,服务器崩溃。校勘mysql配置文件,调解max_connection为30000。其余相关参数进行了调节优化,意况具备缓和,可是短短几分钟之内CPU又充满了。

sudo service mysql restart

 

奇异!于是查看mysql中的进度,开掘行反革命复的sql查询,而所查询的多少个表数据量均在10万左右,判定是因为从没安装索引导致。咨询后端开采,果然是只设置了主键。立即改进,提交上去五分钟后CPU降下来,稳固在超大器晚成左右,也从没现身过502了。

安装 phpmyadmin

配备django项目需求动用的通令(以下是在Ali云服务器上安排的通令)

应用 apt-get 安装 phpmyadmin,安装进度中,您要求借助提示接受 apache2
,再依附提醒输入数据库名称和 phpmyadmin 密码。

  1. 安装Ubuntu系统或CentOS系统

sudo apt-get install phpmyadmin -y

pip freeze >requirements.txt

安装 Discuz

pip install -r requirements.txt

作者们必要下载三个Discuz 压缩包:

  1. 有关条件搭建

wget

sudo passwd 修正root相关密码

为了将回降包解压,必要安装二个 unzip :

输入su回车  步向特级管理员

sudo apt-get install unzip

sudo apt-get install python (假使有python情状能够不装卡塔尔(قطر‎

下载完毕后,解压那么些压缩包

sudo apt-get install python-dev

sudo unzip Discuz_X3.3_SC_UTF8.zip

sudo apt-get install python-pip

解压完后,就会在 upload 文件夹里看见discuz的源码了

sudo apt-get install libxml*

配置 Discuz

sudo apt-get install net-tools

由于 PHP 暗中认可访问 /var/www/html/ 文件夹,所以我们须要把 upload
文件夹里的文书都复制到 /var/www/html/ 文件夹

sudo apt-get install lsof

sudo mv upload/* /var/www/html/

  1. 上述手续在Ali云服务上不要做,已经配好。只做以下步骤就可以。
  2. ——更新本地包———

将引得切换成 php 访谈的公文夹下,

Sudo apt-get update

cd /var/www/html/

  1. ——更新pip版本———

改良一下 config、data、uc_server/data/、uc_client/data/cache
目录权限:

pip install –upgrade pip

sudo chmod -R 777 config/ data/ uc_server/data/ uc_client/data/cache/

  1. ——安装SSH———

将 apache 指定到 index.html

sudo apt-get install openssh-server

sudo mv /var/www/html/index.html /var/www/html/index~.html

——-安装MySQL服务———

重启 Apache 服务:

1> sudo apt-get install mysql-server

sudo /etc/init.d/apache2 restart

2> sudo apt-get install mysql-client (安装进度中供给设置密码:123456卡塔尔(قطر‎

sudo apt-get install libmysqlclient-dev

发表评论

电子邮件地址不会被公开。 必填项已用*标注