linux lnmp yum安装,优化

命令准备

创建目录

mkdir 目录名

chmod 777 目录名 变更权限

加入开机启动项服务

chkconfig --add php-fpm

chkconfig nginx on 

查找文件位置 经常用于查找yum安装后各种配置文件及启动程序所在位置

find|grep php-fpm

服务启动

service nginx
start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest

service nginx  start

service php-fpm start

查看进程

ps -ef | grep java

查看进程

kill -9 进程id

1.安装

添加nginx源

http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm 

wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm

rpm -qa | grep nginx 检查nginx 是否加入源路径


安装 php mysql nginx

yum install mysql mysql-server php php-mysql php-fpm nginx


php组件库 选择安装 如果找不到源地址,请查找小技巧里面的更新第三方源库

yum install php-cli php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy php-common php-devel


2.配置

2.1nginx 配置

配置文件位置 如果找不到相关配件,查找文件位置 命令
/etc/nginx/nginx.conf
/etc/nginx/conf.d/*.conf
 
多个站点放在conf.d目录,在nginx.conf用include语法包含
include /etc/nginx/conf.d/*.conf;


默认default.conf修改

server {
    listen       80;
    server_name  localhost;<span style="color:#ff0000;">#自定义域名配置</span>

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        root   /home/www;<span style="color:#ff0000;">#自定义目录设置</span>
        index  index.html index.htm<span style="color:#ff0000;"> index.php</span>;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #<span style="color:#ff0000;">错误页处理</span>
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /home/www;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        #root           /home/www;
        #fastcgi_pass   127.0.0.1:9000;
	<span style="color:#ff0000;">fastcgi_pass  unix:/tmp/php-cgi.sock;#这种方式听说性能提升比较多</span>
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /home/www$fastcgi_script_name;
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

类似

其他*.conf 可自定义添加

server
	{
		listen       80;
		server_name wx.vtz.cc;
		index index.html index.htm index.php;
		root  /home/wwwroot/weixin;

		location ~ .*\.(php|php5)?$
			{
				try_files $uri =404;
				fastcgi_pass  unix:/tmp/php-cgi.sock;
				fastcgi_index index.php;
				include fcgi.conf;
			}

		location /status {
			stub_status on;
			access_log   off;
		}

		location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
			{
				expires      30d;
			}

		location ~ .*\.(js|css)?$
			{
				expires      12h;
			}

		access_log  /home/wwwlogs/weixin_access.log  access;
	}

2.2  php-fpm.conf配置  php-cgi.sock

php-fpm.conf  查找php-fpm.conf  修改
[www] 
#设置监听 修改项
#listen = 127.0.0.1:9000
listen = /tmp/php-cgi.sock

nginx.conf phpcgi配置

fastcgi_pass  unix:/tmp/php-cgi.sock;

3.添加服务自启动

nginx 服务
chkconfig --add nginx 
chkconfig nginx on
service nginx start

php-fpm
chkconfig --add php-fpm 
chkconfig php-fpm on
service php-fpm start

mysql
chkconfig --add mysqld 
chkconfig mysqld on
service mysqld start

默认root 密码空

小技能:

1.php开启错误提示

vim /etc/php5/fpm/php.ini

打开错误提示

display_errors = On

因为用到的四fpm与nginx配合,所以还需要修改php-fpm.conf文件

vim /etc/php5/fpm/php-fpm.conf

再最后添加 有可能在此配置文件里面 www.conf

php_flag[display_errors] = on

让后从新读取nginx配置

sudo service nginx reload

2.其他安装参考

  1. 配置CentOS 6.0 第三方yum源(CentOS默认的标准源里没有nginx软件包)
    1 yum install wget
    2 wget http://www.atomicorp.com/installers/atomic
    3 sh ./atomic
    4 yum update
  2. 安装开发包和库文件
    1 yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng
    2 libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel
    3 gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2
    4 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel
  3. 卸载已安装的apache、mysql、php
    1 yum remove httpd
    2 yum remove mysql
    3 yum remove php

  4. 安装nginx
    1 yum install nginx
    2 service nginx start
    3 chkconfig --levels 235 nginx on
  5. 安装mysql
    1 yum install mysql mysql-server mysql-devel
    2 service mysqld start
    3 chkconfig --levels 235 mysqld on
    4 mysqladmin -u root password "密码" <span></span>service mysqld restart
  6. 安装php
    1 yum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap
    2 php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
    3 php-tidy php-common php-devel php-fpm
    4  
    5 service php-fpm start
    6  
    7 chkconfig --levels 235 php-fpm on
  7. 配置nginx支持php
    1 mv /etc/nginx/nginx.conf /etc/nginx/nginx.confbak
    2 cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
    3 vi /etc/nginx/nginx.conf
    在文件中加入 
    1 location ~ \.php$ {
    2             root           /usr/share/nginx/html;
    3             fastcgi_pass   127.0.0.1:9000;
    4             fastcgi_index  index.php;
    5             fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
    6             include        fastcgi_params;
    7 }
  8. 重启nginx php-fpm
    1 service nginx restart
    2 service php-fpm restart

3.服务器状况php函数组件探针


4.mysql 新建用户外网访问

insert into mysql.user(Host,User,Password) values("%","admin",password("1234"));
update mysql.user set password=password('新密码') where User="phplamp" and Host="localhost";
grant all privileges on *.* to 'yourname'@'%' identified by 'youpasswd';   //密码为必填项
flush privileges;

5.linux svn搭建 版本库

1、 # yum install subversion
2、新建一个目录用于存储SVN所有文件
    # mkdir /home/svn
3、在上面创建的文件夹中为项目 project_1 创建一个版本仓库
      # svnadmin create /home/svn/project_1
      执行完这一步,/home/svn 中将存在project_1文件夹,这个项目的配置都在 /home/svn/project_1/conf 中

4、为项目配置权限
   (1)svnserve.conf 是主配置文件
        # vi /home/svn/project_1/conf/svnserve.conf
        anon-access=read          #匿名可读
        auth-access=write         #验证用户可读写
        password-db=passwd        #指向验证用户名密码的数据文件 passwd ,请看下文配置
        auth-db=authz             #指向验证用户的权限配置文件 authz ,请看下文配置
        注意:每一行前方不能有空格,否则会出现 Option expected 错误!
   (2)passwd 用户名密码配置文件 
        # vi /home/svn/project_1/conf/passwd
        [users]
        manager1=123456       #每一行都要是“用户名=密码”的格式
        manager2=123123 
        manager3=888888
   (3)authz 用户权限配置文件 
        # vi /home/svn/project_1/conf/authz
        [groups]
        managers=manager1,manager2         #定义群组 managers 包含 manager1 和 manager2 两个用户
        [/]
        @managers=rw                       #定义群组 managers 有读写权限
        manager3=r                         #定义 manager3 有读权限
        *=                                 #以上没有定义的用户都没有任何权限
4,启动和停止SVN服务
启动SVN服务:
[root@svn ~]# svnserve -d -r /data/svndata/
-d表示后台运行
-r 指定根目录是 /data/svndata/
停止SVN服务:
ps -aux |grep svn

6.lnmp linux 小内存优化

由于个人学习在阿里云买个最小配置云服务内存512 经过优化大概内存保持在200内,基本请求正常。未优化前,基本内存使用就剩7M,经常请求卡死。

进过以上配置之后 

7.压力测试

安装webbench

<span class="sh_preproc" style="color: rgb(160, 32, 240);">#wget</span> http<span class="sh_symbol">:</span><span class="sh_comment" style="color: rgb(255, 0, 0);">//home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz</span>
<span class="sh_preproc" style="color: rgb(160, 32, 240);">#tar</span> <span class="sh_usertype">zxvf</span><span class="sh_normal"> </span>webbench<span class="sh_number" style="color: rgb(255, 0, 255);">-1.5</span><span class="sh_symbol">.</span>tar<span class="sh_symbol">.</span>gz
<span class="sh_preproc" style="color: rgb(160, 32, 240);">#cd</span> webbench<span class="sh_number" style="color: rgb(255, 0, 255);">-1.5</span>
<span class="sh_preproc" style="color: rgb(160, 32, 240);">#make</span> <span class="sh_symbol">&&</span> make install

进行压力测试,并发200时。

<span class="sh_preproc" style="color: rgb(160, 32, 240);"># webbench</span> <span class="sh_symbol">-</span>c <span class="sh_number" style="color: rgb(255, 0, 255);">200</span> <span class="sh_symbol">-</span>t <span class="sh_number" style="color: rgb(255, 0, 255);">60</span> http<span class="sh_symbol">:</span><span class="sh_comment" style="color: rgb(255, 0, 0);">//xxx/index.php</span>

参数解释:-c为并发数,-t为时间(秒)


测试页 :php探针程序  http://download.csdn.net/detail/lihaiboas1/7071225 相对来说单页所耗资源还是中等
进行压力测试:200并发量
[root@AY140319152825219eb4Z /]# webbench -c 200 -t 60 http://xxxxx/tz.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://xxx/tz.php
200 clients, running 60 sec.

Speed=348424 pages/min, 1995776 bytes/sec.
Requests: 348424 susceed, 0 failed.
400并发量 请求已经崩溃了。不过个人站200并发页差不多足够了
[root@AY140319152825219eb4Z /]# webbench -c 400 -t 60 http://218.244.143.202/tz.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://xxx/tz.php
400 clients, running 60 sec.

Speed=337039 pages/min, 1934456 bytes/sec.
Requests: 336904 susceed, 135 failed.

所以以上优化搭配阿里云最低配置云服务器个人来说还是不错的。主要是云服务包月只要55块,在此感谢阿里云推出这么价廉的服务器。得以让我这种穷屌丝都能接触并学习linux服务器知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值