linux lnmp yum安装,优化

来源:互联网 发布:手机屏幕100种恶搞软件 编辑:程序博客网 时间:2024/05/22 03:55

命令准备

创建目录

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:9000listen = /tmp/php-cgi.sock

nginx.conf phpcgi配置

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

3.添加服务自启动

nginx 服务
chkconfig --add nginx chkconfig nginx onservice nginx start

php-fpm
chkconfig --add php-fpm chkconfig php-fpm onservice php-fpm start

mysql
chkconfig --add mysqld chkconfig mysqld onservice 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软件包)
    1yum install wget
    2wget http://www.atomicorp.com/installers/atomic
    3sh ./atomic
    4yum update
  2. 安装开发包和库文件
    1yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng
    2libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel
    3gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2
    4libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel
  3. 卸载已安装的apache、mysql、php
    1yum remove httpd
    2yum remove mysql
    3yum remove php

  4. 安装nginx
    1yum install nginx
    2service nginx start
    3chkconfig --levels 235 nginx on
  5. 安装mysql
    1yum install mysql mysql-server mysql-devel
    2service mysqld start
    3chkconfig --levels 235 mysqld on
    4mysqladmin -u root password "密码" <span></span>service mysqld restart
  6. 安装php
    1yum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap
    2php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap
    3php-tidy php-common php-devel php-fpm
    4 
    5service php-fpm start
    6 
    7chkconfig --levels 235 php-fpm on
  7. 配置nginx支持php
    1mv /etc/nginx/nginx.conf /etc/nginx/nginx.confbak
    2cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf
    3vi /etc/nginx/nginx.conf
    在文件中加入 
    1location ~ \.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
    view source
    print?
    1service nginx restart
    2service 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,经常请求卡死。
http://blog.csdn.net/lhb_blog/article/details/21931657

进过以上配置之后 

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.phpWebbench - Simple Web Benchmark 1.5Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://xxx/tz.php200 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.phpWebbench - Simple Web Benchmark 1.5Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.Benchmarking: GET http://xxx/tz.php400 clients, running 60 sec.Speed=337039 pages/min, 1934456 bytes/sec.Requests: 336904 susceed, 135 failed.

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

0 1
原创粉丝点击