在CentOS6.2上安装Nginx+PHP5(PHP-FPM)+MySQL
1.使用非官方软件源
麦盖提网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。rpm --import https://fedoraproject.org/static/0608B895.txt rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum install yum-priorities
编辑/etc/yum.repos.d/epel.repo文件,启用这个源,使其优先级高
[epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...]
同样的,也需要对remi源进行优先级编辑和启用
[remi] name=Les RPM de remi pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi failovermethod=priority
[remi-test]
name=Les RPM de remi en test pour Enterprise Linux $releasever – $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
2.安装MYSQL
yum install mysql mysql-server
设置系统启动时,在235的运行级运行mysqld守护进程
chkconfig --levels 235 mysqld on /etc/init.d/mysqld start
需要按系统配置优化my.cnf文件,之后设置root的密码,否则任何人都能访问你的数据库。
[root@server1 ~]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MySQL to secure it, we\'ll need the current password for the root user. If you\'ve just installed MySQL, and you haven\'t set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): < -- ENTER OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MySQL root user without the proper authorisation. Set root password? [Y/n] <-- ENTER New password: <-- yourrootsqlpassword Re-enter new password: <-- yourrootsqlpassword Password updated successfully! Reloading privilege tables.. ... Success! By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] <-- ENTER ... Success! Normally, root should only be allowed to connect from \'localhost\'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] <-- ENTER ... Success! By default, MySQL comes with a database named \'test\' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] <-- ENTER - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] <-- ENTER ... Success! Cleaning up... All done! If you\'ve completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL! [root@server1 ~]#
3.安装nginx
nginx在epel源中有包,可以直接yum安装。
yum install nginx
之后创建nginx的系统启动连接并启动它
chkconfig --levels 235 nginx on service nginx start
之后在浏览器中打开服务器的IP地址,应该能看到nginx的欢迎页面。
4.安装php和php-fpm
yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-mssql php-shout php-snmp php-soap php-tidy
其中使用的php-x扩展,可以根据自己的需要添加。之后,编辑php.ini文件,修改cgi.fix_pathinfo为0。为什么要这么做?请查阅该文档。
vi /etc/php.ini
cgi.fix_pathinfo = 0 date.timezone = "Asia/Shanghai"
5.配置nginx
关于配置nginx可以查阅官方的两个例子,例子1,例子2。
6.让PHP-FPM使用unix套接字
默认情况下,php-fpm使用127.0.0.1:9000监听请求,当然也可以使用unix套接字,这样可以避免TCP的额外流量。编辑/etc/php-fpm.d/www.conf文件就可以了。
vi /etc/php-fpm.d/www.conf
[...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...]
之后,重启php-fpm。
service php-fpm restart
之后编辑nginx的虚拟主机配置文件,将fastcgi_pass这一行内容改为unix套接字。
[...] location ~ .php$ { try_files $uri =404; root /usr/share/nginx/html; fastcgi_pass unix:/tmp/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } [...]
最后,重启nginx。
service nginx reload
网页名称:在CentOS6.2上安装Nginx+PHP5(PHP-FPM)+MySQL
当前地址:http://myzitong.com/article/choiop.html