前言
來到馬哥教育也有幾個月了,學了很多知識?,F在想要把這些知識能夠存儲在一個地方,隨時隨地的都能看到,于是乎我就想到了博客,以下我搭建Wordpress的過程。
安裝LNMP
一、關掉防火墻
1
|
# chkconfig iptables off |
二、安裝開發包和庫文件
# yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel
1
|
# yum -y remove mysql* |
三、查看是否已安裝apache、mysql、php。如果有將其卸載
我查看到自己的系統里只有mysql,所以將其卸載后接下來就是正式安裝了
四、安裝nginx
1
2
3
4
5
6
7
8
9
10
|
# yum -y install nginx
Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centosx4.centos.org No package nginx available. Error: Nothing to do |
發現在這里nginx無法用yum安裝,發現其實是Centos默認的標準源里沒有nginx軟件包
1
2
3
|
# wget http://www.atomicorp.com/installers/atomic # sh ./atomic # yum check-update |
注意:在第二步中(# sh ./atomic)會有兩次提示,輸入yes就好。
現在就可以使用yum來安裝nginx啦~~~
1
2
3
4
|
# yum -y install nginx # service nginx start Starting nginx: [ OK ] # chkconfig --levels 235 nginx on |
現在就可以在你的瀏覽器里輸入你的服務器的IP地址了,查看nginx是否正常啟動了
五、安裝mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# yum -y install mysql mysql-server mysql-devel # service mysqld start Initializing MySQL database: Installing MySQL system tables... 160601 5:39:11 [Note] libgovernor.so not found 160601 5:39:11 [Note] /usr/libexec/mysqld (mysqld 5.5.49-cll-lve) starting as process 1786 ... OK Filling help tables... 160601 5:39:11 [Note] libgovernor.so not found 160601 5:39:11 [Note] /usr/libexec/mysqld (mysqld 5.5.49-cll-lve) starting as process 1793 ... OK
To start mysqld at boot time you have to copy support-files /mysql .server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'
Alternatively you can run: /usr/bin/mysql_secure_installation
which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with: cd /usr ; /usr/bin/mysqld_safe &
You can test the MySQL daemon with mysql- test -run.pl cd /usr/mysql-test ; perl mysql- test -run.pl
Please report any problems at http: //bugs .mysql.com/
[ OK ] Starting mysqld: [ OK ]
# chkconfig --levels 235 mysqld on |
登陸mysql刪除空用戶,修改root密碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# mysql #進入mysql
mysql> select user,host,password from mysql.user; +------+-----------------------+----------+ | user | host | password | +------+-----------------------+----------+ | root | localhost | | | root | localhost.localdomain | | | root | 127.0.0.1 | | | root | ::1 | | | | localhost | | | | localhost.localdomain | | +------+-----------------------+----------+ 6 rows in set (0.00 sec)
mysql> drop user '' @localhost; Query OK, 0 rows affected (0.00 sec)
mysql> update mysql.user set password = PASSWORD( 'root' ) where user= 'root' ; Query OK, 4 rows affected (0.00 sec) Rows matched: 4 Changed: 4 Warnings: 0
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) |
六、安裝php
1
|
|
安裝php和所需組件使用php支持mysql、fastcgi模式
1
2
3
|
# yum -y install php-tidy php-common php-devel php-fpm php-mysql # service php-fpm start # chkconfig --levels 235 php-fpm on |
七、配置nginx支持php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak // 將配置文件改為備份文件
# cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf // 將默認的配置文件作為配置文件
# vim /etc/nginx/nginx.conf
location / { root html; index index.php index.html index.htm; #增加index.php }
location ~ \.php$ { root /usr/share/nginx/html ; #修改為nginx默認路徑 fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html $fastcgi_script_name; include fastcgi_params; } |
配置php,編輯php.ini文件,在末尾添加cgi.fix_pathinfo = 1
1
|
# vim /etc/php.ini |
重啟nginx,php-fpm
1
2
3
4
5
6
|
# service nginx restart Stopping nginx: [ OK ] Starting nginx: [ OK ] # service php-fpm restart Stopping php-fpm: [ OK ] Starting php-fpm: [ OK ] |
建立info.php文件
1
2
3
4
|
# vim /usr/share/nginx/html/info.php <?php phpinfo(); ?> |
測試nginx是否解析php,在瀏覽器輸入:192.168.1.104/info.php
顯示php界面,環境搭建成功
環境已經搭建成功了,現在到了激動的時候了!安裝Wordpress!??!
安裝Wordpress
首先從官網上下載安裝包
1
|
# wget https://cn.wordpress.org/wordpress-4.5.2-zh_CN.tar.gz |
安裝包下好之后,把它mv到nginx默認路徑下。
1
|
# mv wordpress-4.5.2-zh_CN.tar.gz /usr/share/nginx/html/ |
然后將安裝包解壓,把解壓出來的目錄里的文件放到/usr/share/nginx/html/下
1
2
|
# tar zxvf wordpress-4.5.2-zh_CN.tar.gz html] # cp -R wordpress/* ./ |
然后,打開瀏覽器,輸入服務器的IP地址,就會顯示安裝wordpress界面
為wordpress創建數據庫和用戶
1
2
3
4
5
6
7
8
9
10
|
# mysqladmin -u root -p create BLOG #創建BLOG數據庫 # mysql -u root -p Enter password:******* mysql> use BLOG; Database changed
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON BLOG.* -> TO 'yanglei' @ 'localhost' -> IDENTIFIED BY 'yanglei123' ; |
創建好后,在瀏覽器點擊現在就開始!
會出現以下界面,按照提示輸入
輸入完成之后,會跳出下面這個界面
這時候,我們到/usr/share/nginx/html
目錄下,編輯wp-config-sample.php
文件,將數據庫和用戶名及密碼填入進去即可。
1
2
3
4
5
6
7
8
9
10
|
# vim /usr/share/nginx/html/wp-config-sample.php // ** MySQL 設置 - 具體信息來自您正在使用的主機 ** // /** WordPress數據庫的名稱 */ define( 'DB_NAME' , 'BLOG' );
/** MySQL數據庫用戶名 */ define( 'DB_USER' , 'yanglei' );
/** MySQL數據庫密碼 */ define( 'DB_PASSWORD' , 'yanglei123' ); |
保存并退出!然后將該文件改名為wp-config.php
1
|
# mv wp-config-sample.php wp-config.php |
返回瀏覽器,點擊現在安裝
之后,跳出如下界面
現在,就可以填寫信息啦,填寫完成之后就是如下界面
點擊登陸之后,就到了登陸界面啦~~~大功告成!滿滿的成就感有木有!
性能優化:
實際使用中必須對一下文件作出修改 建議值為以下建議值 要不然實際使用過程中問題很大
nginx.conf 優化和上傳的限制
worker_processes 8; events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; client_max_body_size 100m; client_header_buffer_size 128k; large_client_header_buffers 4 128k; sendfileon; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; include /etc/nginx/vhost/*; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on;
php.ini 上傳文件的限制
post_max_size = 20m upload_max_filesize = 20M max_file_uploads = 200
wp-config.php 解決無法定位文件的問題
/** Override default file permissions */ if(is_admin()) { add_filter('filesystem_method', create_function('$a', 'return "direct";' )); define( 'FS_CHMOD_DIR', 0751 ); }
chmod -R 0755 你的FTP文件夾
vsftpd.conf 注意此配置文件中結尾處不能有空格
pam_service_name=vsftpd userlist_enable=YES chroot_list_enable=YES ascii_upload_enable=YES ascii_download_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=ftp user_config_dir=/etc/vsftpd/vuser_conf pasv_enable=YES pasv_min_port=40000 pasv_max_port=40080 pasv_promiscuous=YES
vuser_passwd.txt 奇數行用戶名偶數行密碼
lethe 1234567890 xiaohei 1234567890
vuserconf/lethe
local_root=/data/web/wwwroot/www.lethe.com.cn/ write_enable=YES anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
原創文章,作者:wencx,如若轉載,請注明出處:http://www.www58058.com/41905
看完博客會有一個概覽性的認識,但在邏輯表達的組織上顯得略微混亂,如果能再優化下邏輯規劃會更讓人印象深刻