کاربر:Admin/habili

از ویکی‌کد، دانشنامهٔ برنامه‌نویسی
پرش به ناوبری پرش به جستجو

نصب وب سرور nginx

وب سرور nginx را نصب کنید:

4yum -y install nginx nano net-tools

وب سرور را اجرا و برای بوت خودکار آماده کنید:

5systemctl start nginx
6systemctl enable nginx

کارکرد nginx را تست کنید:

7netstat -plntu

netstat -plntu

نصب و کانفیگ PHP-FPM

مخزن PHP7.2 را اضافه کنید:

8rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

افزونه‌های PHP را اضافه کنید:

9yum -y install ImageMagick php72w-fpm php72w-intl php72w-xml php72w-curl php72w-gd php72w-mbstring php72w-mysql php72w-cli php72w-pear php72w-pecl-apcu nano
  • موارد زیر را در php.ini اعمال کنید:
10nano /etc/php.ini

این موارد را یکی یکی سرچ و جایگزین کنید:

11date.timezone = Asia/Tehran
12cli_server.color = On
13file_uploads = On
14upload_max_filesize = 100M
15max_file_uploads = 20
16cgi.fix_pathinfo=0
17max_execution_time = 10000
18max_input_time = 12000
19max_input_vars = 12000
20memory_limit = 256M
21post_max_size = 100M

ذخیره و خارج شوید.


  • موارد زیر را در www.conf اعمال کنید:
12nano /etc/php-fpm.d/www.conf

apache را با nginx عوض کنید:

12user = nginx
13group = nginx

خط جلوی listen را تغییر دهید:

14listen = /run/php-fpm/php-fpm.sock

کامنت‌ها را حذف و nginx را چایگزین apache کنید:

15listen.owner = nginx
16listen.group = nginx
17listen.mode = 0660

کامنت‌ها را حذف کنید:

18env[HOSTNAME] = $HOSTNAME
19env[PATH] = /usr/local/bin:/usr/bin:/bin
20env[TMP] = /tmp
21env[TMPDIR] = /tmp
22env[TEMP] = /tmp

ذخیره و خارج شوید.

  • پیکربندی را در پوشه‌ی جدیدی ایجاد کنید:
23mkdir -p /var/lib/php/session/
24chown -R nginx:nginx /var/lib/php/session/

وب سرور را اجرا و برای بوت خودکار آماده کنید:

25systemctl start php-fpm
26systemctl enable php-fpm

کارکرد PHP-FPM را تست کنید:

27netstat -pl | grep php

netstat -plntu


nginx:

یک فایل جدید برای تنظیمات پیشفرض وب سرور nginx برای مدیا ویکی بسازید:

13cd /etc/nginx/
14nano conf.d/mediawiki.conf

موارد زیر را وارد کنید:

13server {
14	listen 80;
15	listen [::]:80;
16	server_name wiki-w3.ir;
17	root /var/www/w;
18
19	index index.php;
20	autoindex off;
21
22	client_max_body_size 5m;
23	client_body_timeout 60;
24
25	location / {
26		try_files $uri $uri/ @rewrite;
27	}
28
29	location @rewrite {
30		rewrite ^/(.*)$ /index.php?title=$1&$args;
31	}
32
33	location ^~ /maintenance/ {
34		return 403;
35	}
36
37	# PHP-FPM Configuration Nginx
38	location ~ \.php$ {
39		try_files $uri =404;
40		fastcgi_split_path_info ^(.+\.php)(/.+)$;
41		fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
42		fastcgi_index index.php;
43		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
44		include fastcgi_params;
45	}
46
47	location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
48		try_files $uri /index.php;
49		expires max;
50		log_not_found off;
51	}
52
53	location = /_.gif {
54		expires max;
55		empty_gif;
56	}
57
58	location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {
59		deny all;
60	}
61
62	location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {
63		internal;
64	}
65
66	# Security for 'image' directory
67	location ~* ^/images/.*.(html|htm|shtml|php)$ {
68		types { }
69		default_type text/plain;
70	}
71
72	# Security for 'image' directory
73	location ^~ /images/ {
74		try_files $uri /index.php;
75	}
76}

وب سرور را تست و ریست کنید:

13nginx -t
14systemctl restart nginx

کانفیگ 2

 1server {
 2 2 	listen 80;
 3 3 	listen [::];
 4 4 	root /var/www/html;
 5 5 	server_name wiki-programming.ir;
 6 6 	
 7 7 	client_max_body_size 100M;
 8 8 	client_header_timeout 3000;
 9 9 	client_body_timeout 3000;
1010 	fastcgi_read_timeout 3000;
1111 	fastcgi_buffers 8 128k;
1212 	index /w/index.php;
1313 	gzip on;
1414 	fastcgi_buffer_size 128k;
1515 	
1616 	location /w {
1717 		try_files $uri $uri/ @rewrite;
1818 	}
1919 
2020 	location @rewrite {
2121 		rewrite ^/wiki(.*)$ /w/index.php?title=$1&$args;
2222 	}
2323 
2424 	location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
2525 		try_files $uri /w/index.php;
2626 		expires max;
2727 		log_not_found off;
2828 	}
2929 
3030 	location /w/dumps {
3131 		root /var/www/html/w/local;
3232 		autoindex on;
3333 	}
3434 	
3535 	location /w/images {
3636 	# Separate location for images/ so .php execution won't apply
3737 	}
3838 	
3939 	location /w/images/deleted {
4040 	# Deny access to deleted images folder
4141 		deny	all;
4242 	}
4343 	
4444 	# Deny access to folders MediaWiki has a .htaccess deny in
4545 	location /w/cache { deny all; }
4646 	location /w/languages { deny all; }
4747 	location /w/maintenance { deny all; }
4848 	location /w/serialized { deny all; }
4949 		
5050 	# Just in case, hide .svn and .git too
5151     location ~ /w.(svn|git)(/|$) { deny all; }
5252 			
5353 	# Hide any .htaccess files
5454     location ~ /w/.ht { deny all; }
5555 	
5656 	# Uncomment the following code if you wish to hide the installer/updater
5757 	## Deny access to the installer
5858 	location /w/mw-config { deny all; }
5959     
6060 	location ~ \.php$ {
6161 		include snippets/fastcgi-php.conf;
6262 		fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
6363 		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
6464 		include fastcgi_params;
6565 	}
6666 }