1、关闭selinux、配置防火墙,开启80、3306端口
1
2
3
4
5
6
7
8
9
10
11
12
13
<code>[root@localhost ~]</code><code># cp /etc/sysconfig/iptables /etc/sysconfig/iptablesbak</code>
<code>[root@localhost ~]</code><code># vim /etc/sysconfig/iptables</code>
<code>-A INPUT -i lo -j ACCEPT</code>
<code>-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT</code>
<code>-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT</code>
<code>-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT</code>
<code>-A INPUT -j REJECT --reject-with icmp-host-prohibited</code>
<code>[root@localhost ~]</code><code># /etc/init.d/iptables restart</code>
<code>[root@localhost ~]</code><code># cp /etc/sysconfig/selinux /etc/sysconfig/selinuxbak</code>
<code>[root@localhost ~]</code><code># cat /etc/sysconfig/selinux|grep -v "#"</code>
<code>SELINUX=disabled</code>
<code>SELINUXTYPE=targeted </code>
<code>[root@localhost ~]</code><code>#</code>
2、安装nginx
14
15
<code>[root@localhost ~]</code><code># rpm -e --nodeps `rpm -qa|egrep -i "httpd|php"` #删除系统自带的软件包</code>
<code>[root@localhost ~]</code><code># wget #下载、安装第三方yum源</code>
<code>[root@localhost ~]</code><code># sh ./atomic #安装</code>
<code>Do you agree to these terms? (</code><code>yes</code><code>/no</code><code>) [Default: </code><code>yes</code><code>] </code><code>yes</code>
<code>Configuring the [atomic] yum archive </code><code>for</code> <code>this system </code>
<code>Installing the Atomic GPG keys: OK</code>
<code>OK</code>
<code>Enable repo by default? (</code><code>yes</code><code>/no</code><code>) [Default: </code><code>yes</code><code>]: </code>
<code>The Atomic Rocket Turtle archive has now been installed and configured </code><code>for</code> <code>your system</code>
<code>The following channels are available:</code>
<code>[root@localhost ~]</code><code># yum check-update #更新yum源</code>
<code>[root@localhost ~]</code><code># yum -y install nginx </code>
<code>[root@localhost ~]</code><code># service nginx start</code>
<code>Starting nginx: [ OK ]</code>
3、安装MySQL
16
17
18
19
20
21
22
23
24
25
26
27
<code>[root@localhost ~]</code><code># yum install mysql mysql-server -y</code>
<code>[root@localhost ~]</code><code># chkconfig mysqld on</code>
<code>[root@localhost ~]</code><code># /etc/init.d/mysqld start</code>
<code>[root@localhost ~]</code><code># cp /usr/share/mysql/my-medium.cnf /etc/my.cnf </code>
<code>cp</code><code>: overwrite `</code><code>/etc/my</code><code>.cnf'? y</code>
<code>[root@localhost ~]</code><code># mysql_secure_installation #为root账户设置密码</code>
<code>Enter current password </code><code>for</code> <code>root (enter </code><code>for</code> <code>none): </code>
<code>OK, successfully used password, moving on...</code>
<code>Set root password? [Y</code><code>/n</code><code>] Y</code>
<code>New password: </code>
<code>Re-enter new password: </code>
<code>Password updated successfully!</code>
<code>Reloading privilege tables..</code>
<code> </code><code>... Success!</code>
<code> </code><code>Remove anonymous </code><code>users</code><code>? [Y</code><code>/n</code><code>] Y </code>
<code> </code><code>Disallow root login remotely? [Y</code><code>/n</code><code>] Y</code>
<code> </code><code>Remove </code><code>test</code> <code>database and access to it? [Y</code><code>/n</code><code>] Y</code>
<code> </code><code>- Dropping </code><code>test</code> <code>database...</code>
<code> </code><code>- Removing privileges on </code><code>test</code> <code>database...</code>
<code> </code><code>Reload privilege tables now? [Y</code><code>/n</code><code>] Y</code>
<code> </code><code>Thanks </code><code>for</code> <code>using MySQL!</code>
<code> </code><code>[root@localhost ~]</code><code># service mysqld restart</code>
4、安装PHP5
<code>[root@localhost ~]</code><code># yum install php php-fpm -y</code>
<code>[root@localhost ~]</code><code># yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt -y #安装PHP组件,使 PHP5 支持 MySQL</code>
<code>[root@localhost ~]</code><code># chkconfig php-fpm on</code>
<code>[root@localhost ~]</code><code># /etc/init.d/php-fpm start</code>
<code>Starting php-fpm: [ OK ]</code>
5、配置nginx支持php
<code>[root@localhost ~]</code><code># cp /etc/nginx/nginx.conf /etc/nginx/nginx.confbak</code>
<code>[root@localhost ~]</code><code># vim /etc/nginx/nginx.conf</code>
<code>user nginx nginx; </code><code>#修改nginx运行账号为:nginx组的nginx用户</code>
<code>worker_processes 1;</code>
<code>[root@localhost ~]</code><code># cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak</code>
<code>[root@localhost ~]</code><code># vim /etc/nginx/conf.d/default.conf</code>
<code> </code><code>location / {</code>
<code> </code><code>root </code><code>/usr/share/nginx/html</code><code>;</code>
<code> </code><code>index index.php index.html index.htm; </code><code>#增加index.php</code>
<code> </code><code># example</code>
<code> </code><code>#ModSecurityEnabled on;</code>
<code> </code><code>#ModSecurityConfig /etc/nginx/modsecurity.conf;</code>
<code> </code><code>}</code>
<code> </code><code>location ~ \.php$ { </code><code>#取location的注释,并将fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径</code>
<code> </code><code>root html;</code>
<code> </code><code>fastcgi_pass 127.0.0.1:9000;</code>
<code> </code><code>fastcgi_index index.php;</code>
<code> </code><code>fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;</code>
<code> </code><code>include fastcgi_params;</code>
<code> </code><code>} </code>
<code> </code><code>[root@localhost ~]</code><code># service nginx restart</code>
<code>Stopping nginx: [ OK ]</code>
6、php配置
<code>[root@localhost ~]</code><code># cp /etc/php.ini /etc/php.inibak</code>
<code>[root@localhost ~]</code><code># vim /etc/php.ini</code>
<code> </code><code>878 </code><code>date</code><code>.timezone = PRC</code>
<code> </code><code>314 disable_functions = passthru,</code><code>exec</code><code>,system,chroot,scandir,</code><code>chgrp</code><code>,</code><code>chown</code><code>,shell_exec,proc_open,proc_get_status,</code><code>in</code> <code>i_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,</code><code>symlink</code><code>,popepassthru,stream_socket_server,escapesh ellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_c termid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_ge tgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwna m,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_se tegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ ttyname,posix_uname </code><code>#PHP禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。</code>
<code> </code><code>375 expose_php = Off </code><code>#禁止显示php版本的信息</code>
<code> </code><code>211 short_open_tag = ON </code><code>#支持php短标签</code>
<code> </code><code>308 open_basedir = .:</code><code>/tmp/</code> <code>#设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:nginx可能网站根目录下的文件会提示Access Denied),可以注销此行,或者直接写上程序的目录open_basedir = /usr/share/nginx/html/:/tmp/</code>
<code> </code><code>[root@localhost ~]</code><code>#</code>
7、配置php-fpm
<code>[root@localhost ~]</code><code># cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.confbak</code>
<code>[root@localhost ~]</code><code># vim /etc/php-fpm.d/www.conf</code>
<code>user = nginx</code>
<code>; RPM: Keep a group allowed to write </code><code>in</code> <code>log </code><code>dir</code><code>.</code>
<code>group = nginx</code>
8、测试
<code>[root@localhost ~]</code><code># cd /usr/share/nginx/html/</code>
<code>[root@localhost html]</code><code># vim index.php</code>
<code><?php</code>
<code>phpinfo();</code>
<code>?></code>
<code>~ </code>
<code>[root@localhost html]</code><code># service nginx restart</code>
<code>[root@localhost html]</code><code># service php-fpm restart</code>
<code>Stopping php-fpm: [ OK ]</code>
<code>[root@localhost html]</code><code>#</code>
在客户端浏览器输入服务器IP地址,可以看到相关的配置信息(无法查看可以将php.ini中expose_php设置为on、open_basedir注释掉,或者直接写上程序的目录)! 说明lnmp配置成功!
本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1733287,如需转载请自行联系原作者